<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Андрей Костенко &#187; linux</title>
	<atom:link href="http://kostenko.name/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://kostenko.name</link>
	<description>&#38;gugu;</description>
	<lastBuildDate>Wed, 09 May 2012 13:11:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>VIM Encryption</title>
		<link>http://kostenko.name/2011/03/12/vim-encryption/</link>
		<comments>http://kostenko.name/2011/03/12/vim-encryption/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 21:49:33 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=1079</guid>
		<description><![CDATA[Знаете ли вы, что VIM из коробки умеет шифровать файлы? Не верите? Напишите :X в VIM, введите пароль. Когда вы сохраните файл, он будет выглядеть как непонятный набор символов. А когда вы откроете этот файл с помощью VIM, он спросит пароль.]]></description>
			<content:encoded><![CDATA[<p>Знаете ли вы, что VIM из коробки умеет шифровать файлы?</p>
<p>Не верите? Напишите :X в VIM, введите пароль. Когда вы сохраните файл, он будет выглядеть как непонятный набор символов.</p>
<p>А когда вы откроете этот файл с помощью VIM, он спросит пароль.</p>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2011/03/12/vim-encryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>su или sudo?</title>
		<link>http://kostenko.name/2010/09/26/su-%d0%b8%d0%bb%d0%b8-sudo/</link>
		<comments>http://kostenko.name/2010/09/26/su-%d0%b8%d0%bb%d0%b8-sudo/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 18:24:43 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=1000</guid>
		<description><![CDATA[Вообще, и ослу ясно, что использовать лучше sudo, а su &#8211; забросить в черный ящик. Вкратце преимущество sudo: Нет пароля на рута. У каждого администратора пароль свой. Удалили администратора &#8211; у него исчез доступ. В случае с su нужно менять рутовый пароль. Благодаря su вы не сидите под рутом, а значит уменьшается вероятность увести у <a href='http://kostenko.name/2010/09/26/su-%d0%b8%d0%bb%d0%b8-sudo/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Вообще, и ослу ясно, что использовать лучше sudo, а su &#8211; забросить в черный ящик.</p>
<p>Вкратце преимущество sudo:</p>
<ol>
<li>Нет пароля на рута. У каждого администратора пароль свой. Удалили администратора &#8211; у него исчез доступ. В случае с su нужно менять рутовый пароль.</li>
<li>Благодаря su вы не сидите под рутом, а значит уменьшается вероятность увести у вас пароль или накосячить. sudo применяется только для критичных операций. В остальных случаях мы работаем под своим пользователем</li>
<li>С помощью sudo можно давать доступ к отдельным командам, не давая доступ ко всему. Не давать же рута человеку, который должен уметь перезапустить apache?</li>
<li>sudo можно настроить на беспарольную работу. В таком случае все равно будет сложно накосячить &#8211; ведь под рутом работать будут те команды, которые нужны</li>
</ol>
<p>поэтому настраиваем sudo командами visudo и man sudoers и пользуемся им.</p>
<p>Ещё полезная шняга</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #660033;">-s</span></pre></div></div>

<p>запускает ваш шелл под рутом.</p>
<p>А ещё, когда я вижу строку ssh root@host.com, меня выворачивает наизнанку. Не показывайте мне это, пожалуйста)</p>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2010/09/26/su-%d0%b8%d0%bb%d0%b8-sudo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VIM. Tags</title>
		<link>http://kostenko.name/2010/09/10/vim-tags/</link>
		<comments>http://kostenko.name/2010/09/10/vim-tags/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 14:57:24 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=981</guid>
		<description><![CDATA[Решил разобраться получше с vim и ctags. Для справки: ctags &#8211; это команда, которая сканирует ваш проект и собирает информацию о классах, методах, функциях и переменных, после чего вы можете перейти на нужную вам функцию. В vim это делается так. В корне проекта пишем: ctags -R vim -t MyClassName и попадаем на определение класса. Удобно? <a href='http://kostenko.name/2010/09/10/vim-tags/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Решил разобраться получше с vim и ctags. Для справки: ctags &#8211; это команда, которая сканирует ваш проект и собирает информацию о классах, методах, функциях и переменных, после чего вы можете перейти на нужную вам функцию.</p>
<p>В vim это делается так. В корне проекта пишем:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ctags <span style="color: #660033;">-R</span>
<span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #660033;">-t</span> MyClassName</pre></div></div>

<p>и попадаем на определение класса. Удобно?</p>
<p>Сейчас если мы поставим указатель на вызов функции или создание экземпляра класса и нажмем Ctrl+] (для виндузятников это Ctrl+мышка), то перейдем на определение класса.</p>
<p>А комбинация Ctrl+T вернет нас назад.</p>
<p>Авторы ctags с детства не любят питон, поэтому в ~/.ctags питонюки пишут:</p>
<pre>
--python-kinds=-i
</pre>
<p>Зачем? Так надо.</p>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2010/09/10/vim-tags/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Roverbook NEO/800&#215;480</title>
		<link>http://kostenko.name/2010/06/25/roverbook-neo800x480/</link>
		<comments>http://kostenko.name/2010/06/25/roverbook-neo800x480/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 00:30:01 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[roverbook]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=858</guid>
		<description><![CDATA[Я больше трех месяцев в пассивном режиме пытался настроить правильное разрешение на моём RoverBook Neo U800. Правильное &#8212; это 800&#215;480. Сейчас нехуевенько так погуглил и нашёл решение: Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Generic monitor" HorizSync 25 - 50 VertRefresh 50.0 - 75.0 Modeline "800x480" 33.45 800 840 968 1056 480 490 492 <a href='http://kostenko.name/2010/06/25/roverbook-neo800x480/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Я больше трех месяцев в пассивном режиме пытался настроить правильное разрешение на моём RoverBook Neo U800. Правильное &mdash; это 800&#215;480.</p>
<p>Сейчас нехуевенько так погуглил и нашёл решение:</p>
<pre>
Section "Monitor"
	Identifier "Monitor0"
	VendorName "Monitor Vendor"
	ModelName "Generic monitor"
	HorizSync 25 - 50
	VertRefresh 50.0 - 75.0
	Modeline "800x480"   33.45 800 840 968 1056 480 490 492 525 -hsync -vsync
	Option "dpms"
EndSection

Section "Device"
	Identifier "Videocard0"
	VendorName "Videocard vendor"
	BoardName "AMD Geode LX Video"
	Driver "geode"
	BusID "PCI:0:1:1"
        # Specify Panel size for Geode LX, corresponds with ModeLine above:
	Option "PanelMode" "33450 800 840 968 1056 480 490 492 525"
EndSection

Section "Screen"
	Identifier "screen1"
	Device "Videocard0"
	Monitor "Monitor0"
	DefaultDepth 16
	Subsection "Display"
    		Depth 16
	    	Modes	"800x480"
    		Viewport 0 0
	EndSubsection
EndSection
</pre>
<p>Я ниибацца щаслив</p>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2010/06/25/roverbook-neo800x480/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>VIM</title>
		<link>http://kostenko.name/2010/03/17/vim/</link>
		<comments>http://kostenko.name/2010/03/17/vim/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 11:46:45 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[shortcuts]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=790</guid>
		<description><![CDATA[Пару шорткатов: Открыть файл в другой кодировке: vim file.txt +e++enc=koi8-r Открыть файл и перейти на конкретную строку: vim file.txt +1245 Найти открыть файл с конкретной функцией и открыть его: ctags -R . #в корне проекта vim -t get_something]]></description>
			<content:encoded><![CDATA[<p>Пару шорткатов:</p>
<ol>
<li>Открыть файл в другой кодировке:

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">vim</span> file.txt +e++<span style="color: #007800;">enc</span>=koi8-r</pre></div></div>

</li>
<li>Открыть файл и перейти на конкретную строку:

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">vim</span> file.txt +<span style="color: #000000;">1245</span></pre></div></div>

</li>
<li>Найти открыть файл с конкретной функцией и открыть его:

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ctags <span style="color: #660033;">-R</span> . <span style="color: #666666; font-style: italic;">#в корне проекта</span>
<span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #660033;">-t</span> get_something</pre></div></div>

</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2010/03/17/vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wubi</title>
		<link>http://kostenko.name/2010/03/15/wubi/</link>
		<comments>http://kostenko.name/2010/03/15/wubi/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 18:18:15 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wubi]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=788</guid>
		<description><![CDATA[Купил я, товарищи, себе ноутбук. С ноутбуком поставлялась прикольная утилитка для установки операционной системы &#8212; Windows XP. Скачал Ubuntu, увидел интересную виндовую программу wubi.exe. Оказалось, это установщик Linux из-под винды. Андрей обрадовался, установил себе Linux, загрузился, все как бы работает. Но что-то не давал мне покоя процесс ntfs-3g. Дебилы, видимо, писали эту FS, подумал Андрей. <a href='http://kostenko.name/2010/03/15/wubi/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Купил я, товарищи, себе ноутбук. С ноутбуком поставлялась прикольная утилитка для установки операционной системы &mdash; Windows XP.<br />
Скачал Ubuntu, увидел интересную виндовую программу wubi.exe. Оказалось, это установщик Linux из-под винды. Андрей обрадовался, установил себе Linux, загрузился, все как бы работает.</p>
<p>Но что-то не давал мне покоя процесс ntfs-3g. Дебилы, видимо, писали эту FS, подумал Андрей. И решил отформатировать нахуй этот NTFS.</p>
<p>Каково же было его удивление, когда он увидел на NTFS-ном разделе два файлика &#8211; swap и root, в которых лежала вся линуксовая файловая система.</p>
<p>И мне стало очень интересно, что курили создатели Wubi и как они теперь с этим живут?</p>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2010/03/15/wubi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Source code management</title>
		<link>http://kostenko.name/2009/11/17/source-code-management/</link>
		<comments>http://kostenko.name/2009/11/17/source-code-management/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 15:21:29 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[checkinstall]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=656</guid>
		<description><![CDATA[Иногда нам приходится собирать приложения из исходников. Причин для этого море &#8211; старая версия в репозитории, это приложение в репозиторий не попало, или нам нужно его пропатчить. Не важно&#8230; У сборки из исходников есть один очевидный минус &#8211; удалить приложение практически нереально. В некоторых мы можем написать make uninstall, но таких приложений не так уж <a href='http://kostenko.name/2009/11/17/source-code-management/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Иногда нам приходится собирать приложения из исходников. Причин для этого море &#8211; старая версия в репозитории, это приложение в репозиторий не попало, или нам нужно его пропатчить. Не важно&#8230;</p>
<p>У сборки из исходников есть один очевидный минус &#8211; удалить приложение практически нереально. В некоторых мы можем написать <code>make uninstall</code>, но таких приложений не так уж много.</p>
<p>В linux для этого существует утилита checkinstall &mdash; она создаёт пакет из архива с исходниками, который корректно ставится и удаляется. И работает она очень просто:<br />
<span id="more-656"></span></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> checkinstall
    .<span style="color: #000000; font-weight: bold;">/</span>configure
    <span style="color: #c20cb9; font-weight: bold;">make</span>
    <span style="color: #c20cb9; font-weight: bold;">sudo</span> checkinstall <span style="color: #660033;">-D</span> <span style="color: #666666; font-style: italic;">#создать deb-пакет</span>
    <span style="color: #666666; font-style: italic;"># или sudo checkinstall -R (RPM)</span>
    <span style="color: #666666; font-style: italic;"># sudo checkinstall -S (Slackware)</span></pre></div></div>

<p>После чего он порадует вас сообщением:</p>
<pre>
**********************************************************************
 Done. The new package has been installed and saved to
 /home/gugu/doodb/tokyotyrant-1.1.34/tokyotyrant_1.1.34-1_amd64.deb
 You can remove it from your system anytime using:
      dpkg -r tokyotyrant
**********************************************************************
</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2009/11/17/source-code-management/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ускоряем свой HTTP-сервер</title>
		<link>http://kostenko.name/2009/11/05/accept-filters/</link>
		<comments>http://kostenko.name/2009/11/05/accept-filters/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 19:17:38 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Web2]]></category>
		<category><![CDATA[Рамблер]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=633</guid>
		<description><![CDATA[Для начала расскажу, как обычно работают сервера: Создаётся сокет, который слушает порт Вызывается системный вызов accept, который берёт первого клиента из очереди соединений, а если его нет &#8211; то блокирует приложение до тех пор, пока он не появится Приложение что-то делает с этим клиентом и в конце концов с ним прощается goto пункт два nginx <a href='http://kostenko.name/2009/11/05/accept-filters/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Для начала расскажу, как обычно работают сервера:</p>
<ol>
<li>Создаётся сокет, который слушает порт</li>
<li>Вызывается системный вызов accept, который берёт первого клиента из очереди соединений, а если его нет &#8211; то блокирует приложение до тех пор, пока он не появится</li>
<li>Приложение что-то делает с этим клиентом и в конце концов с ним прощается</li>
<li>goto пункт два</li>
</ol>
<p>nginx и lighttpd использует вместо accept функции select/kevent/epoll, которые позволяют работать со многими клиентами одновременно, но это уже отдельная история (к асинхронным веб-серверам accept-фильтры применимяются точно так же)</p>
<p>Accept-фильтры &#8211; это модули ядра FreeBSD, которые не говорят, что сокет готов до тех пор, пока не выполнится какое-то условие. Я нашёл только два фильтра:</p>
<ul>
<li><b>dataready</b> &#8211; accept блокирует сокет до тех пор, пока в него прийдут данные. Когда мы получаем сокет, мы уже точно можем из него что-то считать</li>
<li><b>httpready</b> &#8211; сокет блокируется до тех пор, пока не прийдёт полный GET/HEAD запрос. Соответственно, нам не надо тратить время на переключение контекста, если запрос ещё не собрался.</li>
</ul>
<h3>Остановимся на фильтре httpready</h3>
<p>Буферизирует он только GET и HEAD запросы, так как в POST/PUT может прийти 600мегабайтный <a href="http://mirrors.kernel.org/gentoo/releases/amd64/autobuilds/current-iso/install-amd64-minimal-20091029.iso">порнофильм</a>.<br />
Итак, подключаем модуль accf_http:</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">    kldload accf_http
    echo 'accf_http_load=”YES”' &gt;&gt; /boot/loader.conf</pre></div></div>

<p>Далее нужно изменить работу с сокетом &mdash; установить опцию httpready:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">        <span style="color: #993333;">struct</span> accept_filter_arg afa<span style="color: #339933;">;</span>
        bzero<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>afa<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>afa<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        strcpy<span style="color: #009900;">&#40;</span>afa.<span style="color: #202020;">af_name</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;httpready&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        setsockopt<span style="color: #009900;">&#40;</span>sok<span style="color: #339933;">,</span> SOL_SOCKET<span style="color: #339933;">,</span> SO_ACCEPTFILTER<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>afa<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>afa<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Результаты тестов</h3>
<p>Так как существует мнение, что accept-фильтры бесполезны, мы решили провести тестирование. Веб-сервер был выбран AnyEvent::HTTPD, клиент &#8211; ab. Итак, результаты:</p>
<ol>
<li>локальная машина, 10000 запросов, concurrency = 4: httpready даёт прирост в 10%</li>
<li>локальная сеть, 10000 запросов, concurrency=1000: httpready даёт прирост в 10%</li>
<li>локальная сеть, 10000 запросов, concurrency = 4: прирост в 25%</li>
<li>локальная сеть, 1000 запросов, concurrency = 1: в два раза!</li>
</ol>
<p>В боевых условиях, при наличии GPRS, 256k и прочего позора цивилизации, скорость ещё увеличится.</p>
<h3>Настройка веб-серверов</h3>
<p>В apache 1.3+ и nginx accept-фильтры поддерживаются.</p>
<p>Apache под FreeBSD изначально содержит такую конфигурацию:</p>

<div class="wp_syntax"><div class="code"><pre class="none" style="font-family:monospace;"> AcceptFilter http httpready
 AcceptFilter https dataready</pre></div></div>

<p>и менять её не стоит.<br />
А вот в настройках сервера nginx стоит добавить опцию</p>

<div class="wp_syntax"><div class="code"><pre class="none" style="font-family:monospace;">    accept_filter &quot;httpready&quot;;</pre></div></div>

<h3>Ссылки</h3>
<ul>
<li><a href="http://sysoev.ru/freebsd/accept-filters.html">статья Игоря Сысоева</a></li>
<li>man accf_http</li>
<li>man accf_data</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2009/11/05/accept-filters/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Обновление системы</title>
		<link>http://kostenko.name/2009/03/24/system-update/</link>
		<comments>http://kostenko.name/2009/03/24/system-update/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 22:43:41 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[synapse]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=386</guid>
		<description><![CDATA[По-перше &#8211; обновил себе Ubuntu до 9.04. Абсолютно юзабельна, удобна и красива. Не смотря на то, что бета. Пока ни одного бага не заметил Поставил себе нативный Google Chrome. Это сообщение пишу из него, рискуя тем, что он вылетит к чертям. Он падает в кору, если что-то вставить из буфера обмена, или если попадёшь на <a href='http://kostenko.name/2009/03/24/system-update/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>По-перше &#8211; обновил себе Ubuntu до 9.04. Абсолютно юзабельна, удобна и красива. Не смотря на то, что бета. Пока ни одного бага не заметил<br />
<a href="http://kostenko.name/wp-content/uploads/2009/03/screenshot-3.png"><img src="http://kostenko.name/wp-content/uploads/2009/03/screenshot-3-300x187.png" alt="9.04" title="9.04" width="300" height="187" class="alignnone size-medium wp-image-387" /></a><br />
Поставил себе нативный Google Chrome. Это сообщение пишу из него, рискуя тем, что он вылетит к чертям. Он падает в кору, если что-то вставить из буфера обмена, или если попадёшь на автодополнения. Ни вкладки, ни настройки не работают. Но для демонстрации фич он отлично подходит. Всё работает очень-очень быстро.<br />
<div id="attachment_388" class="wp-caption alignnone" style="width: 310px"><a href="http://kostenko.name/wp-content/uploads/2009/03/screenshot-4.png"><img src="http://kostenko.name/wp-content/uploads/2009/03/screenshot-4-300x187.png" alt="Chrome" title="Chrome" width="300" height="187" class="size-medium wp-image-388" /></a><p class="wp-caption-text">Chrome</p></div><br />
Поставил Synapse. Почему-то в среде linux спра&#8230; ( ну нихрена себе, хром даже орфографию проверяет ) справедливо такое утверждение &#8211; чем лучше Jabber-клиент, тем более уёбищный у него интерфейс. Буду надеяться, что Synapse нарушит эту традицию. Интерфейс у него &#8211; лучший из всех клиентов, которые я когда-либо видел. Если сделают обещаную поддержку твиттера &#8211; он займёт прочное место у меня на десктопе.<br />
<div id="attachment_389" class="wp-caption alignnone" style="width: 246px"><a href="http://kostenko.name/wp-content/uploads/2009/03/synapse.jpg"><img src="http://kostenko.name/wp-content/uploads/2009/03/synapse.jpg" alt="Synapse" title="Synapse" width="236" height="532" class="size-full wp-image-389" /></a><p class="wp-caption-text">Synapse</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2009/03/24/system-update/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Выпущена альфа Google Chrome под linux</title>
		<link>http://kostenko.name/2009/03/17/chrome-linux-alpha/</link>
		<comments>http://kostenko.name/2009/03/17/chrome-linux-alpha/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 08:55:37 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=382</guid>
		<description><![CDATA[Он написан на Gtk (придурки IMHO) и похож на свою виндовую версию. Сегодня вечером поставлю и расскажу что и как Пакет под Debian лежит здесь: https://launchpad.net/~chromium-daily/+archive/ppa]]></description>
			<content:encoded><![CDATA[<p>Он написан на Gtk (придурки IMHO) и похож на свою виндовую версию.</p>
<p>Сегодня вечером поставлю и расскажу что и как</p>
<p>Пакет под Debian лежит здесь:<br />
<a href="https://launchpad.net/~chromium-daily/+archive/ppa"> https://launchpad.net/~chromium-daily/+archive/ppa</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2009/03/17/chrome-linux-alpha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

