<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2558687422000971621</id><updated>2012-02-09T16:47:04.463+04:00</updated><title type='text'>Записки Отца Ондрея</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.n0rd.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-202224589014705561</id><published>2011-06-02T00:35:00.003+04:00</published><updated>2011-06-02T00:37:16.872+04:00</updated><title type='text'>Про SELinux</title><content type='html'>Если скрипт под апачем не может открыть файл и/или каталог (в особенности в /home), а тот же скрипт запущенный из консоли от пользователя, от которого работает апач, работает нормально - проверяй настройки доступа SELinux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-202224589014705561?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/202224589014705561/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=202224589014705561' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/202224589014705561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/202224589014705561'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2011/06/selinux.html' title='Про SELinux'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-360462229130300842</id><published>2011-03-09T21:51:00.002+03:00</published><updated>2011-03-09T22:13:12.876+03:00</updated><title type='text'>Про imageshack.us и прямые ссылки</title><content type='html'>&lt;a href='http://imageshack.us'&gt;Imageshack&lt;/a&gt; с недавних пор решил разрешать копировать прямые ссылки, если заливать картинки по одной:&lt;br /&gt;&lt;br /&gt;&lt;img src='http://img851.imageshack.us/img851/6807/imageshackd.png' /&gt;&lt;br /&gt;&lt;br /&gt;Ничто не мешает, однако, достать ссылку из исходников страницы, но процесс муторный. После двух повторений, был написан Greasemonkey &lt;a href='https://sites.google.com/site/n0rdspersonalwebstorage/Home/imageshack.user.js'&gt;скрипт&lt;/a&gt;, который размещает ссылку на залитую картинку наверху страницы сразу под меню:&lt;br /&gt;&lt;br /&gt;&lt;img src='http://img826.imageshack.us/img826/1564/imageshack2.png' /&gt;&lt;br /&gt;&lt;br /&gt;Работает в опере, и, надеюсь, в firefox с плагином Greasemonkey, быть может заработает и в Хроме.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-360462229130300842?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/360462229130300842/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=360462229130300842' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/360462229130300842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/360462229130300842'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2011/03/imageshackus.html' title='Про imageshack.us и прямые ссылки'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-5599070142433858139</id><published>2010-12-19T02:22:00.002+03:00</published><updated>2010-12-19T02:28:39.487+03:00</updated><title type='text'>Про страхование</title><content type='html'>Страховые компании - это такие казино, которым разрешено действовать на территории всей страны, в отличие от "обычных" казино. Это казино, где вы ставите на то, что с вами произойдет "беда". Мат. ожидание изменения количества ваших средств в результате заключения договора со страховой компанией отрицательно (иначе страховые компании давно бы разорились).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-5599070142433858139?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/5599070142433858139/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=5599070142433858139' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/5599070142433858139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/5599070142433858139'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2010/12/blog-post.html' title='Про страхование'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-1997174570178375386</id><published>2010-12-04T02:14:00.008+03:00</published><updated>2011-01-21T14:47:34.837+03:00</updated><title type='text'>Про опенгл 3</title><content type='html'>&lt;p&gt;Пост является вольным пересказом &lt;a href='http://www.opengl.org/wiki/Getting_started'&gt;Getting started&lt;/a&gt; и &lt;a href='http://www.opengl.org/wiki/Creating_an_OpenGL_Context'&gt;Creating an OpenGL Context&lt;/a&gt; с OpenGL wiki с упоминанием граблей, на которые я наступил.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Пока я на работе ковыряюсь с девайсами, с опенглоподобным API, в котором нет никаких шейдеров (а в самом девайсе поддержка чисел с плавающей запятой исключительно программная), прогресс не стоит на месте и наличествуют уже аж спецификация OpenGL 4.1.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Надо наверстывать упущенное, и разобраться хотя бы с третьим опенглом, хотя бы потому, что &lt;a href='http://www.realtech-vr.com/glview/index.html'&gt;OpenGL extension viewer&lt;/a&gt; говорит, что моя видеокарта не поддерживает даже OpenGL 4.0.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;В третьем опенгле Khronos group решили выкинуть нафиг Fixed function pipeline. В спецификации 3.0 функции, относящиеся к FFP были помечены как deprecated, в 3.1 они были убраны совсем.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Кроме того, микрософту с его DirectX на опенгл плевать и .h файлы поставляемые с Windows SDK были заморожены где-то в районе спецификации 1.1. Что означает, что функции, появившиеся в более поздних версиях там не объявлены. Что в свою очередь означает, что адреса нужных функций придется грузить ручками (с помощью &lt;a href='http://msdn.microsoft.com/en-us/library/dd374386(VS.85).aspx'&gt;wglGetProcAddress&lt;/a&gt;), а прототипы набивать где-то у себя в исходниках.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Те, кто не любит заниматься такой фигней могут воспользоваться одной из библиотек, облегчающей данный процесс. Я после того, как проделал это с десятком функций, решил, что рутинное повторение операции "объявить указатель на функцию/загрузить адрес" мне особо понимания происходящего не прибиавит и взял &lt;a href='http://elf-stone.com/glee.php'&gt;GLee&lt;/a&gt;. Использование ее заключается в том, что из zip-файла берутся .h и .c файлы и добавляются в проект (я использую Visual Studio), если проект C++ и используются precompiled headers, надо .c файл переименовать в .cpp, иначе студия будет ругаться, что нельзя использовать precompiled headers в проекте на двух языках.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Вообще, пользование опенглом в Windows начинается с того, что создается окно, в нем создается контекст OpenGL и после этого можно рисовать. Почти. Порядок создания контекста спецификацией не оговаривается и оставляется на совести разработчика реализации опенгла на каждой конкретной платформе. Соответственно, функция &lt;a href='http://msdn.microsoft.com/en-us/library/dd374379(VS.85).aspx'&gt;wglCreateContext&lt;/a&gt;, имеющаяся в распоряжении человека, заинклюдившего gl.h из Windows SDK, создает контекст опенгла, совместимый со спецификацией 1.1.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Контекст, совместимый с 3.x создается функцией wglCreateContextAttribsARB (да, все, что имеет префикс wgl, является Windows-specific, так что неумеренное использование приведет к проблемам с переносимостью на другие ОСи), адрес которой надо грузить вручную. Но загрузить адрес опенгловой функции можно только уже имея проинициализированный контекст опенгла, иначе wglGetProcAddress вас пошлет далеко и надолго. Соответственно, процесс создания OpenGL 3.x контекста выглядит так:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;создаем окно;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;с помощью wglCreateContext создаем в нем хоть какой-нибудь rendering context опенгла (тут есть неясный мне момент: надо ли устанавливать перед этим DC окна PixelFormat, я устанавливал, может быть это и не нужно было) и выбираем его (&lt;a href='http://msdn.microsoft.com/en-us/library/dd374387(VS.85).aspx'&gt;wglMakeCurrent&lt;/a&gt;);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;загружаем нужные адреса функций. Потребуются как минимум wglChoosePixelFormatARB и wglCreateContextAttribsARB. В случае использования GLee просто вызваем GLeeInit() - она загрузит все;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;убиваем контекст опенгла (wglMakeCurrent(0, 0); &lt;a href='http://msdn.microsoft.com/en-us/library/dd374381(VS.85).aspx'&gt;wglDeleteContext&lt;/a&gt;(hRC);), убиваем следом и само окно: вроде как повторно использовать его не получится, я, опять же, не проверял;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;создаем новое окно;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;создаем и устанавливаем этому окну pixel format с помощью функций wglChoosePixelFormatARB и SetPixelFormat (в принципе, можно обойтись и без wglChoosePixelFormatARB, но тогда настроить можно будет только то, что есть в структуре PIXELFORMATDESCRIPTOR, передаваемой в SetPixelFormat): полученный из wglChoosePixelFormatARB pixelFormat передается как второй аргумент SetPixelFormat (либо пишем туда 0, если не заморачивались);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;создаем rendering context функцией wglCreateContextAttribsARB;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;выбираем его (wglMakeCurrent);&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;Мой код выглядит примерно так:&lt;/p&gt;&lt;br /&gt;&lt;pre class='code'&gt;&lt;code class='language-cpp'&gt;m_window = createNewWindowForOpenGL(hInstance); // моя функция создания окна&lt;br /&gt;m_dc = GetDC(m_window);&lt;br /&gt;&lt;br /&gt;const int ATTR_LIST[] = &lt;br /&gt;{&lt;br /&gt;    WGL_DRAW_TO_WINDOW_ARB, GL_TRUE,&lt;br /&gt;    WGL_SUPPORT_OPENGL_ARB, GL_TRUE,&lt;br /&gt;    WGL_DOUBLE_BUFFER_ARB, GL_TRUE,&lt;br /&gt;    WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB,&lt;br /&gt;    WGL_COLOR_BITS_ARB, 32,&lt;br /&gt;    WGL_DEPTH_BITS_ARB, 24,&lt;br /&gt;    WGL_STENCIL_BITS_ARB, 8,&lt;br /&gt;//  WGL_SAMPLE_BUFFERS_ARB, GL_TRUE,&lt;br /&gt;//  WGL_SAMPLES_ARB, 4,&lt;br /&gt;    0,&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int pixelFormat;&lt;br /&gt;UINT numFormats;&lt;br /&gt;&lt;br /&gt;wglChoosePixelFormatARB(m_dc, ATTR_LIST, NULL, 1, &amp;pixelFormat, &amp;numFormats);&lt;br /&gt;&lt;br /&gt;PIXELFORMATDESCRIPTOR pfd;&lt;br /&gt;fillPFD(pfd);  // моя функция заполнения PFD&lt;br /&gt;&lt;br /&gt;SetPixelFormat(m_dc, pixelFormat, &amp;pfd);&lt;br /&gt;&lt;br /&gt;const int attribs[] =&lt;br /&gt;{&lt;br /&gt;    WGL_CONTEXT_MAJOR_VERSION_ARB, 3,&lt;br /&gt;    WGL_CONTEXT_MINOR_VERSION_ARB, 2,&lt;br /&gt;//  WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB,&lt;br /&gt;    0&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;m_rc = wglCreateContextAttribsARB(m_dc, NULL, attribs);&lt;br /&gt;&lt;br /&gt;wglMakeCurrent(m_dc, m_rc);&lt;br /&gt;&lt;br /&gt;int openGLMajorVersion, openGLMinorVersion;&lt;br /&gt;glGetIntegerv(GL_MAJOR_VERSION, &amp;openGLMajorVersion);&lt;br /&gt;glGetIntegerv(GL_MINOR_VERSION, &amp;openGLMinorVersion);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p class='no-parindent'&gt;обработка ошибок для краткости выкинута. В переменных openGLMajorVersion и openGLMinorVersion находится реальная версия опенгла, с которой был создан контекст. Она может отличаться от запрошенной.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;В созданном контексте хоть что-то вывести можно только с помощью Vertex buffer object'ов и Vertex array object'ов. Причем, в контексте 3.0 можно обойтись только VBO (там есть "умолчальный array object" с номером 0), а в более поздних версиях обязательно использование и VAO, а если включен forward compatible bit (последняя закомментированная строчка в коде), то и в 3.0 контексте обязательно использование VAO&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Теперь о граблях. Изначально код я писал на компе с видеокартой NVidia и к моему удивлению написанный код почти сразу начал делать то, что я хотел. Позже выяснилось, что при попытке запустить ее на видеокарте ATI/AMD программа не работала: я видел только clear color и больше ничего. Ввиду моего некоторого недопонимания как делать правильно, а также недостатка проверок результатов вызовов функций, был (возможно зря) переписан код создания окон (изначально создавалось два окна сразу, в одном инициализировался стандартный контекст, получились указатели, окно убивалось и инициализировался нужный контекст во втором окне, после переписывания окна создавались и убивались строго последовательно). В конце концов, я выяснил, что использование VAO обязательно и просто одними VBO не обойтись (нвидиевские драйвера, видимо, прощают гораздо больше, чем атишные), и обложил все вызовы опенгла проверками того, что они сработали &amp;mdash; дело поиска косяков пошло веселее, но возвращаемые ошибки иногда помогали слабо. Так что надо проверять на разном железе &amp;mdash; необычное занятие для человека, занимающегося программированием для консолей.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-1997174570178375386?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/1997174570178375386/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=1997174570178375386' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/1997174570178375386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/1997174570178375386'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2010/12/3.html' title='Про опенгл 3'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-8126200868322660590</id><published>2009-10-11T01:31:00.008+04:00</published><updated>2009-10-20T20:54:16.907+04:00</updated><title type='text'>Про базы данных</title><content type='html'>&lt;p&gt;Потребовалось мне для одного проекта определиться с выбором СУБД для хранения данных. Предполагаемая структура БД крайне примитивна, но существует требование высокой производительности не только на извлечение данных, но и на их запись, т.к. по первым прикидкам запись в базу будет производиться не намного реже, чем чтение из нее.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Ввиду отсутствия хоть какого-бы опыта применения баз данных на реальных задачах, было принято решение взять MySQL, PostgreSQL и SQLite и потестировать скорость интересующих меня операций.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;В каждом случае была заведена таблица из трех колонок: целочисленный id, являющийся первичным ключом и трех строк по 180 символов.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Тестировались:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;скорость добавления одной отдельной записи в базу;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;скорость извлечения одной записи из базы;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;и скорость обновления записи.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Меня интересуют скорости операций с отдельными записями, т.к. предполагается что БД  будет использоваться именно в таком режиме.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Для тестирования использовался &lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/sqlpub.pl"&gt;перл-скрипт&lt;/a&gt;, производящий все операции и засекающий время их исполнения&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Результаты. В таблице указано количество операций в секунду:&lt;/p&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;insert&lt;/th&gt;&lt;th&gt;select&lt;/th&gt;&lt;th&gt;update&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MySQL InnoDB&lt;/td&gt;&lt;td align="right"&gt;45&lt;/td&gt;&lt;td align="right"&gt;4989&lt;/td&gt;&lt;td align="right"&gt;42&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MySQL MyISAM&lt;/td&gt;&lt;td align="right"&gt;9774&lt;/td&gt;&lt;td align="right"&gt;5109&lt;/td&gt;&lt;td align="right"&gt;9539&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PostgreSQL&lt;/td&gt;&lt;td align="right"&gt;1223&lt;/td&gt;&lt;td align="right"&gt;1789&lt;/td&gt;&lt;td align="right"&gt;1181&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SQLite&lt;/td&gt;&lt;td align="right"&gt;12&lt;/td&gt;&lt;td align="right"&gt;7590&lt;/td&gt;&lt;td align="right"&gt;12&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Скрипт запускался несколько раз, указаны скорости, близкие к средним. MyISAM не поддерживает транзакций и тестировался просто для сравнения.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Результаты меня весьма удивили, такой низкой скорости записи я не ожидал. В ближайшее время я попытаюсь перепроверить результаты на другом компьютере.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Использовались следующие версии ПО:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;MySQL 5.1.39 x64&lt;/li&gt;&lt;br /&gt;&lt;li&gt;PostgreSQL 8.4.1 x86&lt;/li&gt;&lt;br /&gt;&lt;li&gt;SQLite, шедший в комплекте с ActivePerl 5.10.1 x64&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Тестировалось все на Windows Vista x64, на компьютере с процессором Core 2 6750 2.66 ГГц, 2 ГБ памяти.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Update: Проверка на Linux'е показала такие результаты:&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;insert&lt;/th&gt;&lt;th&gt;select&lt;/th&gt;&lt;th&gt;update&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MySQL InnoDB&lt;/td&gt;&lt;td align="right"&gt;890&lt;/td&gt;&lt;td align="right"&gt;1891&lt;/td&gt;&lt;td align="right"&gt;690&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MySQL MyISAM&lt;/td&gt;&lt;td align="right"&gt;3162&lt;/td&gt;&lt;td align="right"&gt;1861&lt;/td&gt;&lt;td align="right"&gt;2995&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SQLite&lt;/td&gt;&lt;td align="right"&gt;158&lt;/td&gt;&lt;td align="right"&gt;2997&lt;/td&gt;&lt;td align="right"&gt;201&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Компьютер с линуксом не первой свежести (Sempron 2800, 512 МБ памяти), этим, вероятно, объясняется снижение производительности MyISAM и других вариантов на чтение&lt;/p&gt;&lt;p&gt;На третьем компьютере с 32-битной вистой и конфигурацией, аналогичной первому компьютеру, результаты были таковы:&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;insert&lt;/th&gt;&lt;th&gt;select&lt;/th&gt;&lt;th&gt;update&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MySQL InnoDB&lt;/td&gt;&lt;td align="right"&gt;379&lt;/td&gt;&lt;td align="right"&gt;5793&lt;/td&gt;&lt;td align="right"&gt;432&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MySQL MyISAM&lt;/td&gt;&lt;td align="right"&gt;9145&lt;/td&gt;&lt;td align="right"&gt;5783&lt;/td&gt;&lt;td align="right"&gt;9641&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SQLite&lt;/td&gt;&lt;td align="right"&gt;34&lt;/td&gt;&lt;td align="right"&gt;6903&lt;/td&gt;&lt;td align="right"&gt;74&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-8126200868322660590?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/8126200868322660590/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=8126200868322660590' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/8126200868322660590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/8126200868322660590'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2009/10/blog-post.html' title='Про базы данных'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-2936322797045703950</id><published>2009-05-18T12:45:00.022+04:00</published><updated>2009-05-28T15:26:56.840+04:00</updated><title type='text'>КРИ 2009</title><content type='html'>&lt;p&gt;Съездил в очередной раз на КРИ. Выставка, в целом, помельчала, доклады были оккупированы интелом. Докладчики от интела, судя по некоторым из них, были туда загнаны чуть ли не насильно и делали доклады не по тем темам, в которых разбираются. Микрософт с их XNA тоже был весьма уныл. Запомнившихся докладов было два: «Teamwork» Дениса Вайханского и "Геймдизайн для всех, кроме нас" Павла Епишина, затянувшийся на 20 минут.&lt;/p&gt;&lt;p&gt;Выглядело все так:&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Qgd7I22kr4g/ShEon550cII/AAAAAAAAAA0/SrNf_xqQ6OI/s1600-h/01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_Qgd7I22kr4g/ShEon550cII/AAAAAAAAAA0/SrNf_xqQ6OI/s320/01.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337091699434090626" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Qgd7I22kr4g/ShEpI0L59sI/AAAAAAAAAA8/3WP8KNXmDU4/s1600-h/02.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://4.bp.blogspot.com/_Qgd7I22kr4g/ShEpI0L59sI/AAAAAAAAAA8/3WP8KNXmDU4/s320/02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337092264835020482" /&gt;&lt;/a&gt;&lt;p&gt;Если придти пораньше, можно побродить по пустым стендам&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Qgd7I22kr4g/ShEpb_uqhqI/AAAAAAAAABE/i2wP0jhGtew/s1600-h/03.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://1.bp.blogspot.com/_Qgd7I22kr4g/ShEpb_uqhqI/AAAAAAAAABE/i2wP0jhGtew/s320/03.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337092594351113890" /&gt;&lt;/a&gt;&lt;p&gt;OG Games оформили свой стенд, посвященный игре Nova online, под лабораторию: &lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Qgd7I22kr4g/ShEwDtrestI/AAAAAAAAABM/qp3TZhrcRVc/s1600-h/04.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://4.bp.blogspot.com/_Qgd7I22kr4g/ShEwDtrestI/AAAAAAAAABM/qp3TZhrcRVc/s320/04.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337099873770451666" /&gt;&lt;/a&gt;&lt;p&gt;Народ завлекался широким спектром средств:&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShEwck_4OYI/AAAAAAAAABU/QFaQxCyuf5Y/s1600-h/05.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShEwck_4OYI/AAAAAAAAABU/QFaQxCyuf5Y/s320/05.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337100300936821122" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Стенд 1С помельчал с прошлого года, и показывал оказуалившийся Ил-2: штурмовик, Fallout 3 и еще что-то:&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Qgd7I22kr4g/ShExETzkmDI/AAAAAAAAABc/3JYgeV4Gp44/s1600-h/06.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://1.bp.blogspot.com/_Qgd7I22kr4g/ShExETzkmDI/AAAAAAAAABc/3JYgeV4Gp44/s320/06.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337100983516567602" /&gt;&lt;/a&gt;&lt;p&gt;Бука показывала свои игры, некоторые из которых были сыроватыми альфами:&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Qgd7I22kr4g/ShEx1sjFV6I/AAAAAAAAABk/JGfwTimyY1k/s1600-h/07.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_Qgd7I22kr4g/ShEx1sjFV6I/AAAAAAAAABk/JGfwTimyY1k/s320/07.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337101831971887010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Нивал ненавязчиво зазывал поработать:&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Qgd7I22kr4g/ShEycfJXB0I/AAAAAAAAAB0/ZGW4UGvYYgA/s1600-h/08.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 304px; height: 320px;" src="http://4.bp.blogspot.com/_Qgd7I22kr4g/ShEycfJXB0I/AAAAAAAAAB0/ZGW4UGvYYgA/s320/08.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337102498389231426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Kraken Games представлял «MMORPG по мотивам игры Soldat» Warside:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Qgd7I22kr4g/ShE0kTNTYfI/AAAAAAAAAB8/xyIBs--lWCo/s1600-h/09.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://4.bp.blogspot.com/_Qgd7I22kr4g/ShE0kTNTYfI/AAAAAAAAAB8/xyIBs--lWCo/s320/09.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337104831646753266" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Девушки, завалившие всех своим спамом:&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShE1DKsqBLI/AAAAAAAAACE/gvKhzdzPScE/s1600-h/10.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 229px;" src="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShE1DKsqBLI/AAAAAAAAACE/gvKhzdzPScE/s320/10.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337105361938285746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Autodesk проводил конкурс и давал планшет Wacom в качестве приза: &lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Qgd7I22kr4g/ShE1bjKptLI/AAAAAAAAACM/4UtKyczM5xM/s1600-h/11.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_Qgd7I22kr4g/ShE1bjKptLI/AAAAAAAAACM/4UtKyczM5xM/s320/11.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337105780823405746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Обнаженные девушки рекламировали, как и в прошлом году, Mass Effect:&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Qgd7I22kr4g/ShE2CDGdWcI/AAAAAAAAACU/YbS9GvA-snA/s1600-h/12.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 213px; height: 320px;" src="http://1.bp.blogspot.com/_Qgd7I22kr4g/ShE2CDGdWcI/AAAAAAAAACU/YbS9GvA-snA/s320/12.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337106442230782402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;GSC, по всей видимости, поставила производство сталкеров на поток и показывала очередную серию «Зов Припяти»:&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShE2i54Xb8I/AAAAAAAAACc/HEbvvKx1KB4/s1600-h/13.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShE2i54Xb8I/AAAAAAAAACc/HEbvvKx1KB4/s320/13.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337107006691438530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Qgd7I22kr4g/ShE5fMmZzvI/AAAAAAAAACk/rb06zTUfcXg/s1600-h/14.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://1.bp.blogspot.com/_Qgd7I22kr4g/ShE5fMmZzvI/AAAAAAAAACk/rb06zTUfcXg/s320/14.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337110241531776754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Пьер Гийод на своем докладе рассказывал про игры Gobliiins, для которых он рисовал; про то, чем занимался после выхода третьей части; про то, что сделал четвертую. Ролик про четвертую часть меня что-то не порадовал, игру по причине любви Пьера к трехмерной графике сделали в 3D, что как мне кажется, было лишним. Сам доклад оказался весьма сумбурным.&lt;/p&gt;&lt;p&gt;NVidia показывала "новую стереотехнологию", первые варианты которой я видел лет 6 назад у того же производителя, только очки тогда были проводными и втыкались в видеокарту, сейчас они беспроводные и передатчик втыкается в USB. Поступить это добро в продажу должно в июне по цене примерно в $200 (нужен еще монитор, способный выдать развертку 100 Гц).&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShE6J2Rr9_I/AAAAAAAAACs/MGh1kPiZKcA/s1600-h/15.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShE6J2Rr9_I/AAAAAAAAACs/MGh1kPiZKcA/s320/15.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337110974273681394" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShE7X52PtsI/AAAAAAAAAC0/rbvp-7ep_58/s1600-h/16.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://2.bp.blogspot.com/_Qgd7I22kr4g/ShE7X52PtsI/AAAAAAAAAC0/rbvp-7ep_58/s320/16.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337112315262121666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Как говорили люди, представлявшие эти очки, батарейки в них хватает примерно на час, после чего надо 15 минут заряжать аккумуляторы, во время зарядки играть нельзя. При наличии залмановских стереомониторов по сносным ценам с поляризационными очками, которым вообще электричество не нужно (и вывод на которые также поддерживается драйверами nvidia), эта "технология" мне кажется будет не очень востребована.&lt;/p&gt;&lt;p&gt;В общем, все достаточно уныло. В прошлом году и выставка была побольше/поинтереснее, хороших докладов было больше. Если тенденция продолжится, вероятно, в следующем году ехать смысла не будет.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-2936322797045703950?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/2936322797045703950/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=2936322797045703950' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/2936322797045703950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/2936322797045703950'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2009/05/2009.html' title='КРИ 2009'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Qgd7I22kr4g/ShEon550cII/AAAAAAAAAA0/SrNf_xqQ6OI/s72-c/01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-8775988384671114740</id><published>2009-05-07T23:33:00.004+04:00</published><updated>2009-05-12T11:53:09.161+04:00</updated><title type='text'>Про линупс и телевизор</title><content type='html'>&lt;p&gt;Есть у меня телевизор с HDMI входом и компьютер с нвидиевской видеокартой с двумая видеовыходами. Использовать его для просмотра фильмов кажется весьма заманчивой идеей.&lt;/p&gt;&lt;p&gt;Целью является получение системы позволяющей за минимальное время и усилия смотреть видео на телевизоре из произвольного исходного положения. Кроме того, во время использования телевизора на него не должна убегать мышка ни при каких обстоятельствах, но иметь возможность переместить мышь между мониторами должна быть (хоткеем, например).&lt;/p&gt;&lt;p&gt;Добиться требуемого удалось ознакомившись с двумя документами: &lt;a href="http://en.gentoo-wiki.com/wiki/X.Org/Dual_Monitors"&gt;X.Org/Dual Moniors&lt;/a&gt; на gentoo-wiki и &lt;a href="http://us.download.nvidia.com/XFree86/Linux-x86/173.14.18/README/index.html"&gt;NVIDIA Accelerated Linux Graphics Driver README and Installation Guide&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Итак, сначала учим систему думать, что телевизор всегда подключен: для этого добавляем строчку&lt;/p&gt;&lt;pre&gt;Option "ConnectedMonitor" "DFP,DFP"&lt;/pre&gt;&lt;p&gt;в секцию Device файла /etc/X11/xorg.conf. У меня два DVI выхода, поэтому написано DFP,DFP. Если один из выходов — обычный VGA DSUB, то надо писать CRT, вместо одного из DFP, если TV out, то, соответственно, TV.&lt;/p&gt;&lt;p&gt;После этого, иксы думают, что оба монитора всегда подключены и начинаются две проблемы: мышка убегает на на второй монитор, который выключен и иксы неверно определяют видеорежимы телевизора, т.к. не могут запросить EDID у него (т.к. реально он не подключен).&lt;/p&gt;&lt;p&gt;Проблема с мышкой решается добавлением строчек&lt;/p&gt;&lt;pre&gt;Screen 0 "Screen0" 0 0&lt;br /&gt;Screen 1 "Screen1" 2000 0&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;в секцию ServerLayout файла /etc/X11/xorg.conf. Этого достаточно, чтобы мышка перестала убегать на второй монитор, но следствием этого становится то, что на второй монитор теперь совсем невозможно попасть. Это решим позже.&lt;/p&gt;&lt;p&gt;Теперь с видеорежимами. Иксы при запуске запрашивают из монитора &lt;a href="http://en.wikipedia.org/wiki/EDID"&gt;EDID&lt;/a&gt; — запись с данными о поддерживаемых монитором видеорежимах. Т.к. в нашем случае, монитор в момент запуска иксов отключен, иксам эту информацию брать неоткуда. По идее, решить это можно добавив строчки &lt;code&gt;ModeLine&lt;/code&gt; в секцию Monitor соответствующего монитора или &lt;code&gt;Option "metamodes"&lt;/code&gt; в секцию Device соответствующего видеовыхода, но мне это, по неизвестным мне причинам, не помогло. Решением было считать EDID из монитора когда он был подключен в момент запуска иксов и заставить иксы использовать EDID из файла вместо запроса его у монитора. Сохранить EDID можно либо утилитой &lt;a href="http://john.fremlin.de/programs/linux/read-edid/"&gt;read-edid&lt;/a&gt;, которая работает только в 32-битном линуксе, либо nvidia-settings, которая работает везде, но только при наличии видеокарты nvidia. Получив файл с требуемой информацией, необходимо подсунуть ее иксам. Этого можно добиться добавив&lt;/p&gt;&lt;pre&gt;Option "CustomEDID" "DFP-1:/etc/X11/myedid.bin"&lt;/pre&gt;&lt;p&gt;в секцию Device. Естественно, DFP-1 и путь к файлу с данными надо поправить на свои. Эта опция добавляется драйвером nvidia, и с другими драйверами скорее всего не заработает. На этом конфигурация X-сервера завершена.&lt;/p&gt;&lt;p&gt;Теперь настроим KDE так, чтобы он не пытался использовать второй монитор для рабочего стола. Для этого находим файл ~/.kde/share/config/kcmdisplayrc и добавляем в него строчки&lt;/p&gt;&lt;pre&gt;[X11]&lt;br /&gt;disableMultihead=true&lt;/pre&gt;&lt;p&gt;Перезапускаем сеанс KDE и теперь на втором мониторе рабочего стола не будет.&lt;/p&gt;&lt;p&gt;Переключение между мониторами можно организовать установив утилиту &lt;a href="http://unlogical.net/files/scripts/switchscreen-0.4.tar.gz"&gt;switchscreen&lt;/a&gt;, и добавив хоткей для ее вызова, с помощью, например, xbindkeys.&lt;/p&gt;&lt;p&gt;Запускать приложения на втором мониторе можно установив переменную окружения DISPLAY в значение &lt;code&gt;:0.1&lt;/code&gt; перед запуском приложения. Например, так:&lt;/p&gt;&lt;pre&gt;$ DISPLAY=:0.1 smplayer ./somevideo.avi&lt;/pre&gt;&lt;p&gt;В моем случае, я завел скрипт для запуска smplayer'а на втором мониторе, который берет специальные настройки плеера из нестандартного места, чтобы "телевизионный" вариан вел себя несколько иначе, чем "стандартный". В частности, телевизор подключен ко второй звуковой карте, соответственно звук надо выводить на нее, а не на основную.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-8775988384671114740?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/8775988384671114740/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=8775988384671114740' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/8775988384671114740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/8775988384671114740'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2009/05/blog-post.html' title='Про линупс и телевизор'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-6283527098467546904</id><published>2009-05-01T09:53:00.003+04:00</published><updated>2009-05-01T10:16:59.072+04:00</updated><title type='text'></title><content type='html'>&lt;p&gt;Мишени №8 для стрельбы из пневматической винтовки с расстояния 10 м. Пусть тут полежат.&lt;/p&gt;&lt;p&gt;&lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/10_m_air_rifle_target_right.png?attredirects=0"&gt;PNG, 1200 dpi (473k)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/10_m_air_rifle_target_right.svg?attredirects=0"&gt;Inkscape SVG (24k)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/10_m_air_rifle_target_right.pdf?attredirects=0"&gt;Adobe PDF (10k)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/10_m_air_rifle_target_right.ai?attredirects=0"&gt;Adobe Illustrator (37k)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Набор из шести мишеней, для печати на A4:&lt;/p&gt;&lt;p&gt;&lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/10mAR6-pack.png?attredirects=0"&gt;PNG, 1200 dpi (2836k)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/10mAR6-pack.svg?attredirects=0"&gt;Inkscape SVG (134k)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/10mAR6-pack.pdf?attredirects=0"&gt;Adobe PDF (14k)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://sites.google.com/site/n0rdspersonalwebstorage/Home/10mAR6-pack.ai?attredirects=0"&gt;Adobe Illustrator (213k)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-6283527098467546904?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/6283527098467546904/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=6283527098467546904' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/6283527098467546904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/6283527098467546904'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2009/05/8-10.html' title=''/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-1803442793781507311</id><published>2009-02-07T13:00:00.000+03:00</published><updated>2009-02-07T15:53:57.076+03:00</updated><title type='text'>Про ебей, пейпал и почту россии</title><content type='html'>&lt;p&gt;Однажды, долгим декабрьским (или ноябрьским) вечером меня посетила мысль, что пора бы мою старую цифромыльничку заменить на что-то посерьезнее, благо грядущий отпуск, получение отпускных и некоторая годовая премия благоприятствовали наличию некоторого количества свободных денег. Было решено купить какую-нибудь зеркалку. Из наличия в нашем мухосранске во всяких эльдорадах, технопарках и мвидиях можно найти за приемлемые деньги только олимпусы, которые начинают косить под мыльницы своими крохотными размерами (и потому мной нежелаемы), из остальных нашлось некоторое количество кенонов, но за совершенно неприличные, даже по сравнению с московскими ценами, деньги.&lt;/p&gt;&lt;p&gt;Наличие интернета, пластиковой карты и аккаунта в пейпале ненавязчиво так подталкивало обратить внимание на покупку через интернет. Российские интернет-магазины по непонятным мне причиным вызывают у меня отторжение и всяческие подозрения, потому они были сразу исключены (единственное исключение из этого списка: &lt;a href="http://bolero.ru"&gt;болеро&lt;/a&gt;, где я давно закупаюсь книгами, но они фотоаппаратами не торгуют :). Из буржуйских мне известны два сайта: &lt;a href="http://amazon.com"&gt;амазон&lt;/a&gt; и &lt;a href="http://ebay.com"&gt;ебей&lt;/a&gt; (естественно, их больше, но эти самые монструозные монстры, и изучения только их хватит за глаза и за уши). Причем первый он магазин, а второй пополам: магазин и аукцион. Так как внутренняя жаба во мне живет и здравствует, а слово "аукцион" подразумевает возможность купить каких-то вещей ненужных владельцу за относительно небольшие деньги, то отправился я на поиски по второй ссылке.&lt;/p&gt;&lt;p&gt;Дабы не искать абстрактных фотоаппаратов, мной было потрачено некоторое количество времени на его выбор, который пал на Canon EOS 400D (или его американский вариант — XTi): фотоаппарат не очень новый, что подразумевает несколько более низкие цены и для меня вполне подходящий. Также имело смысл не забывать, что сильно дорогую покупку из-за рубежа придется растамаживать, что может повлечь весьма серьезные незапланированные расходы ввиду совершенно грабительских тарифов нашей родной таможни (два года назад это было, если не ошибаюсь, 20% от стоимости покупки, включая стоимость доставки(!), превышающей 10000 рублей, курс конверсии валюты в рубли выбирается по неизвестным мне принципам). Учитывая все это покупка нового фотоаппарата была также исключена: с учетом стоимости доставки в Россию и растаможки по деньгам выходило не намного дешевле чем в магазинах, а посылка идет весьма долго. Покупка б/у аппарата тоже имеет мало смысла, особенно для любительских моделей зеркалок: затвор фотоаппарата весьма механический и имеет ограниченный ресурс, причем размер этого ресурса производителем не гарантируется (как это делается для более серьезной фототехники), и сами фотоаппараты зачастую не имеют счетчика отснятых кадров, что не позволяет оценить степень изношенности механики.&lt;/p&gt;&lt;p&gt;Учитывая все вышеприведенное оставался, как мне кажется, один вариант: покупка "восстановленного" (refurbished) устройства, т.е. устройства, не прошедшего проверку качества при производстве и затем отремонтированного там же. Такие девайсы продаются по заметно более низким ценам, имеют ограниченную гарантию (90 дней, обычно, плюс зачастую продавец предлагает сыграть в лотерею и продать за 30-40 баксов годовую гарантию на восстановленное устройство), и, судя по отзывам покупателей, вполне пригодны к эксплуатации.&lt;/p&gt;&lt;p&gt;После утрясания всех вариантов выбора начались поиски подходящих торгов. На выигрывание интересующего меня фотоаппарата ушло почти три недели. Стоит отметить, что надо внимательно читать описание товара и при любых сомнениях задавать вопросы продавцу. В частности весьма часто ушлые продавцы продавая только один фотоаппарат (body, без объектива) пытаются создать впечатление, что объектив в комплекте есть (но нигде, естественно, прямо этого не указывают: кладут стоковые фотки фотоаппарата с объективом; указывают характеристики китового объектива, но не пишут, что объектив входит в комплект поставки и т.д.), также надо обращать на возможность доставки в Россию, т.к. зачастую самые интересные вещи к нам не доставляются. Кроме того, в момент оплаты поджидает вторая засада (о которой я знал, но все равно неприятно): пейпал с прошлого года стал сам заниматься конверсией валют при оплате, т.е. если счет, к которому привязана карточка, рублевый, то пейпал сконвертирует валюту платежа в валюту счета по своему весьма нехорошему курсу, и в выписку по счету попадет запись об оплате в валюте счета (раньше пейпал брал с покупателя деньги в баксах, а конверсией занимался банк покупателя и курс был куда более вменяемым).&lt;/p&gt;&lt;p&gt;Итак, торги выиграны, деньги уплачены. На следующий день после оплаты я получил извещение на емейл о том, что посылка выслана и стал ждать. &lt;/p&gt;&lt;p&gt;Пока ждал, надумал прикупить буржуйскую книгу. Зная, что книги у буржуев стоят совершенно грабительских денег, я отправился на тот же ебей, оценить выбор, и достаточно быстро нашел интересующую меня &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=160303708945"&gt;книгу&lt;/a&gt; за 10 баксов + 10 баксов за доставку (596 рублей, вышло даже дешевле, чем новая в русском варианте: сравните c ценами на &lt;a href="http://www.bolero.ru/books/9785845909145.html"&gt;болере&lt;/a&gt; и уж тем более на &lt;a href="http://www.ozon.ru/context/detail/id/2476889/"&gt;озоне&lt;/a&gt;). Книга б/у, обещаны были небольшие повреждения обложки, что на качестве самой книги, естественно, сказаться не должно.&lt;/p&gt;&lt;p&gt;Итого, было заказано: фотоаппарат, высланный по словам продавца 24 декабря и книга, высланная 8 января. Все послано на следующий после оплаты день.&lt;/p&gt;&lt;p&gt;В конце января меня начало волновать отсутствие фотоаппарата и я стал ненавязчиво пинать продавца с просьбой узнать судьбу посылки. После предоставления всей затребованной продавцом информации, он перестал отвечать.Подождав еще неделю с лишним до момента когда до истечения срока возможности подачи претензии продавцу через ебей (45 дней) осталось 3 дня, я таки подал эту претензию. Ввиду того, что моя покупка попадала под &lt;a href="http://pages.ebay.com/paypal/buyer/protection.html"&gt;Paypal buyer protection&lt;/a&gt;, меня перекинули на пейпал, где я и оформил соответствующее заявление. Процедура такова, что сначала продавцу с покупателем предоставляется 20 дней на утрясание конфликта без вмешательства пейпала, вариантов разрешения на этой стадии три:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;вы договариваетесь с продавцом о разрешении и закрываете заявку;&lt;/li&gt;&lt;li&gt;вы не договариваетесь с продавцом и привлекаете пейпал к разрешению;&lt;/li&gt;&lt;li&gt;вы нифига не делаете и через 20 дней заявка закрывается сама и вы ничего не получаете.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;После подачи заявки на пейпал на второй день продавец опомнился, сказал, что отследить посылку не выходит и предложил послать второй фотоаппарат или вернуть деньги. Т.к. ждать я весьма замахался к этому времени, я попросил деньги, которые были мне возвращены в течение нескольких часов (по отчетам пейпала, по крайней мере; выписку из банка я еще не видел). Заявка на пейпале, кстати, автоматически закрывается при полном возмещении стоимости покупки. Тут поджидала очередная засада: пейпал, ввиду того, что сам стал заниматься конверсией средств, вернул мне ровно ту сумму в рублях, которую у меня изъял, а курс доллара с декабря подрос &lt;em&gt;весьма&lt;/em&gt; значительно. С одной стороны, я их понимаю, но с другой стороны на данный момент на возвращенные деньги купить что-то за ту же сумму в долларах я не смогу.&lt;/p&gt;&lt;p&gt;На фоне всей этой истории с фотоаппаратом, надо сказать, что книга пришла вчера. Повреждения обложки представляют собой сгиб на одном углу обложки (обложка мягкая), еле заметно испачкан другой угол плюс общая некоторая помятость, которую я склонен относить к последствиям пересылки через полмира и которая легко устраняется. В общем, этим моментом я доволен.&lt;/p&gt;&lt;p&gt;Причем здесь почта россии: во всей этой фигне с совершенно нереальными сроками доставки и потерей посылок я склонен винить именно их. Имея многолетний опыт покупки книг через интернет, могу сказать, что эти товарищи умудряются растягивать доставку посылки на расстояние меньше 400 километров в лучшем случае на две недели, а обычно — на месяц. &lt;/p&gt;&lt;p&gt;Был случай, когда было заказано около 10 книг, одной книги у продавца не оказалось и заказ был разделен на две посылки: сразу были посланы все книги, кроме одной, а последняя была послана через неделю, когда появилась в наличии. Порядок доставки, оказался обратным: книга, которая была послана отдельной посылкой пришла раньше на неделю, чем все остальные.&lt;/p&gt;&lt;p&gt;Еще была покупка стрелковой формы в Германии. Шла посылка 5 или 6 недель, и по получении изобиловала штемпелями мест, где она побывала. По штемпелям было ясно видно, что на территорию России она попала через 5 суток после отправления и все остальное время ползла по территории нашей необъятной родины.&lt;/p&gt;&lt;p&gt;Упаковка доставленной книги информации о пути не содержит, видимо от того, что это простая бандероль без ценности, поэтому достоверно сказать не могу почему так долго, но обоснованные подозреваемые у меня есть.&lt;/p&gt;&lt;p&gt;В качестве итога можно сказать, что что-то относительно недорого на ебее купить можно (также можно купить то, что у нас не продается вовсе: друзьям был куплен зеленый парик, который еще и приехал за рекордные две недели, видимо потому, что был послан письмом, а не посылкой). Надо только обращать внимание на описание покупаемой вещи, т.к. если окажется, что купили не то, что хотели, и продавец согласится принять вещь назад, посылку обратно придется оплачивать также из своего кармана. И надо иметь в виду, что окончательная цена на востребованный товар формируется в последние секунды аукциона, так что ориентироваться на то, что пишут даже за час до закрытия торгов совершенно не стоит.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-1803442793781507311?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/1803442793781507311/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=1803442793781507311' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/1803442793781507311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/1803442793781507311'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2009/02/blog-post.html' title='Про ебей, пейпал и почту россии'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2558687422000971621.post-1389040051460452727</id><published>2009-01-16T23:26:00.000+03:00</published><updated>2009-01-16T23:45:57.457+03:00</updated><title type='text'>Привет</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Qgd7I22kr4g/SXDwsfF_bxI/AAAAAAAAAAM/XO35KTxh2l4/s1600-h/office.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_Qgd7I22kr4g/SXDwsfF_bxI/AAAAAAAAAAM/XO35KTxh2l4/s320/office.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5291994209211870994" /&gt;&lt;/a&gt;&lt;br /&gt;Приветствую. Меня зовут Андрей, я работаю программистом. Занимаюсь разработкой компьютерных игр. Пока для Nintendo DS. На картинке мое рабочее место и игры, в разработке которых я принимал участие. Кроме этого, я приложил руку к азиатским версиям 007: Quantum of Solace для DS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2558687422000971621-1389040051460452727?l=www.n0rd.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.n0rd.com/feeds/1389040051460452727/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2558687422000971621&amp;postID=1389040051460452727' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/1389040051460452727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2558687422000971621/posts/default/1389040051460452727'/><link rel='alternate' type='text/html' href='http://www.n0rd.com/2009/01/blog-post.html' title='Привет'/><author><name>Андрей</name><uri>http://www.blogger.com/profile/07899076610295828511</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Qgd7I22kr4g/SXDwsfF_bxI/AAAAAAAAAAM/XO35KTxh2l4/s72-c/office.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
