<?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>АртемКо</title>
	<atom:link href="http://www.artem-ko.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.artem-ko.ru</link>
	<description>мой маленький блог</description>
	<lastBuildDate>Thu, 02 Feb 2012 06:06:04 +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>IE8 и onclick=return false</title>
		<link>http://www.artem-ko.ru/2012/02/02/ie8-i-onclickreturn-false/</link>
		<comments>http://www.artem-ko.ru/2012/02/02/ie8-i-onclickreturn-false/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 05:57:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Dev.]]></category>

		<guid isPermaLink="false">http://www.artem-ko.ru/?p=515</guid>
		<description><![CDATA[Замечена проблема с ссылками в IE версий ниже 9 - он игнорирует "return false" при обработке onclick. Т.е. типовой обход перехода по ссылке Do something не работает. Проблема решается простым хаком: Do something]]></description>
			<content:encoded><![CDATA[<p>Замечена проблема с ссылками в IE версий ниже 9 - он игнорирует "return false" при обработке onclick.</p>
<p>Т.е. типовой обход перехода по ссылке</p>
<pre name="code" class="php:nocontrols">
<a href="#" onclick="doSomething(); return false;">Do something</a>
</pre>
<p>не работает.</p>
<p><span id="more-515"></span>Проблема решается простым хаком:</p>
<pre name="code" class="php:nocontrols">
<a href="#" onclick="doSomething(); if(document.swapNode &amp;&amp; event) event.returnValue = false; return false;">Do something</a>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2012/02/02/ie8-i-onclickreturn-false/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Обзор игры AMY</title>
		<link>http://www.artem-ko.ru/2012/01/28/obzor-igry-amy/</link>
		<comments>http://www.artem-ko.ru/2012/01/28/obzor-igry-amy/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 16:55:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Игры]]></category>

		<guid isPermaLink="false">http://www.artem-ko.ru/?p=500</guid>
		<description><![CDATA[Сим постом начинаю публиковать в бложеке обзоры игровых новинок. Внимания будут заслуживать лишь те экземпляры, что смогли меня отвлечь от суровых реалий хотя бы на час. В руки попала демонстрационная версия совсем свежей игры в жанре survival horror - "AMY". Сразу скажу, игру скачал совершенно случайно, предварительно не читав никаких обзоров и не смотрев трейлеров. [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://www.artem-ko.ru/wp-content/uploads/2012/01/amy-xbox-360.jpg"><img class="alignleft size-thumbnail wp-image-501" title="amy-the-game" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/amy-xbox-360-150x150.jpg" alt="Обложка" width="150" height="150" /></a></p>
<p>Сим постом начинаю публиковать в бложеке обзоры игровых новинок. Внимания будут заслуживать лишь те экземпляры, что смогли меня отвлечь от суровых реалий хотя бы на час.</p>
<p>В руки попала демонстрационная версия совсем свежей игры в жанре survival horror - "AMY".</p>
<p>Сразу скажу, игру скачал совершенно случайно, предварительно не читав никаких обзоров и не смотрев трейлеров.</p>
<p>Попробую вкратце описать сюжет и свои впечатления геймплея.</p>
<p><span id="more-500"></span></p>
<p>Игра начинается с продолжительной вставки, где, в случае с XBOX 360, мы наблюдаем первый фэйл. Она тормозит. Не совсем, чтобы совсем тормозит, но лаги наблюдаются весьма ощутимые. Берем себя в руки и продолжаем смотреть вступительную сцену...</p>
<p>Итак, сюжет игры разворачивается в недалеком будущем<br />
Канун Рождества.</p>
<p><img class="aligncenter size-medium wp-image-502" title="Amy-Launch-Trailer" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/Amy-Launch-Trailer-300x169.jpg" alt="" width="300" height="169" /></p>
<p>В купе междугороднего экспресса, женщина по имени Лана сопровождает  из одного медицинского учреждения в другое, маленькую унылую девочку, инвалида второй группы, Эми.</p>
<p>Чернокожий контролер, с лицом отсидевшего полжизни убийцы, подбадривает Эми байками про краснощекого старика с мешком подарков, который вот-вот выйдет на улицы сеять добро.</p>
<p><img class="aligncenter size-medium wp-image-503" title="AMY1" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/AMY1-300x168.jpg" alt="" width="300" height="168" /></p>
<p>А минуту спустя все летит к чертям, поезд срывается с рельс и мир погружается в зомби-апокалипсис...</p>
<p>Очухавшись от пережитой катастрофы, Лана, нигде не может найти порученного в сопровождение ребенка. И, как бы ей этого ни не хотелось, отправляется на поиски пропавшей девочки.</p>
<p>Здесь, собственно, и начинается сама игра.</p>
<p>Атмосфера хоррора выдержана очень натурально. Когда Лана, идущая по разбитому вхлам вагону поезда начинает звать: "Эми, детка, где ты прячешься?", и, при этом безэмоционально проходит мимо согнувшегося в углу тамбура в луже крови проводника - невольно бросает в дрожь. Хочется сказать ей - посмотри вокруг, дура, вылетела твоя Эми через стекло, и лежит уже где-то, размазанная об стену... Но, похоже у дамы сильнейший шок и контузия.</p>
<p>Сразу же огорчила жесточайшая линейность сюжета. Не сделав чего-то в одной локации, вы не можете перейти к следующей. Например, не подобрав в вагоне арматурину, Лана не может сойти с поезда. Дескать, небезопасно нынче девушке по вокзалу без железяки ходить... Пристают всякие...</p>
<p><img class="aligncenter size-medium wp-image-504" title="amy" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/amy-300x160.jpg" alt="" width="300" height="160" /></p>
<p>Выйдя на станцию, встречаем первых зомби - обитателей местных закоулков. Весьма недружелюбных. Но, увы, никакого эффекта неожиданности и легкой паники, свойственного лучшим играм этого жанра. Пара ударов палкой - и зомби рассыпается, аки жидкий терминатор Т-1000. Смерть зомби - это еще одно разочарование от игры. Персонажи очень детально прорисованы - одежда, движения, ссадины и царапины, и при таком уровне детализации можно было ожидать столь же продвинутой анимации брутальных сцен - фонтанов крови, расколотых черепов, внутренностей на полу, оторванных конечностей, дергающихся в конвульсиях. Увы, ничего такого. Фэйл.</p>
<p>Еще один минус игры, вероятно, обусловленный линейностью, практически полное безразличие окружения к действиям героини. Можно подойти к стене и начать молотить по ней палкой. Никаких следов. Ни вмятин, ни царапин, да кого там - даже никаких звуков. Уж что-что, а звук удара палки о стену в такой ситуации можно было бы и добавить. Другая ситуация - подходим к ящикам, преграждающим наш путь. Хлипенькие такие ящички, деревянные. Опять пускаем в ход палку. В любом слэшере - мы бы с одного удара разнесли препятствие в щепки... Но нет, это же не тупой слэшер, тут думать надо, и палка свободно проходит сквозь ящики, а они стоят не шелохнувшись. Физика на нуле. Фэйл.</p>
<p><img class="aligncenter size-medium wp-image-505" title="screenshot_26344_thumb_wide620" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/screenshot_26344_thumb_wide620-300x168.jpg" alt="" width="300" height="168" /></p>
<p>Вскоре встречаем очередного зомби и начинаем как обычно хреначить его арматурой. А он не мочится. Оказывается это вполне себе доброжелательный NPC. Просто у него лицо такое... В общем, какой-то гастарбайтер, кэб-драйвер. Как постоянный обитатель этого вокзала, он знакомит Лану с некоторыми местными лайфхаками, как например, что многие двери тут открываются по запаху ДНК...</p>
<p>Чтобы пройти очередную локацию, нам предлагается решить простенькие логические мини-игры, под видом взлома компьютера... Глупость бредовая, на мой взгляд. Для игры с рейтингом R, можно было придумать что-то поинтереснее задачек для семилетних детей. Фэйл.</p>
<p>Пройдя очередную локацию игры, в одном из туалетов обнаруживаем ту самую Эми, на поиски которой мы и пошли.</p>
<p>На этом  этапе, игра немного оживляется, но, увы, не становится достаточно интересной, чтобы простить хотя бы некоторые из указанных выше фэйлов.</p>
<p>Эми оказывается очень полезным компаньоном - она беспрекословно слушается взрослую тетю, может пролезать в узкие дыры в стенах и нажимать всякие кнопки. А еще она за считанные секунды взламывает защиту компьютерных систем федерального уровня. Короче, не ребенок, а чудо. Хватаем ее за руку и тащим за собой, на встречу ужасам приключений.</p>
<p><img class="aligncenter size-medium wp-image-506" title="amy0112-610" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/amy0112-610-300x168.jpg" alt="" width="300" height="168" /></p>
<p style="text-align: left;">И помним, что девочку нужно доставить до места назначения.</p>
<p><img class="aligncenter size-medium wp-image-507" title="amy-devs-game-isnt-bad-just-hard" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/amy-devs-game-isnt-bad-just-hard-300x170.jpg" alt="" width="300" height="170" /></p>
<p style="text-align: left;">Хоть тресни!</p>
<p style="text-align: left;">Резюмируя, скажу, что покупать эту игру больше чем за 5 баксов я бы не стал. Но если бы купил, поставил бы на одну полку с Silent Hill и Resident Evil. Ибо есть в этой игре нечто... пугающе жуткое...</p>
<p style="text-align: left;"> <img src='http://www.artem-ko.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2012/01/28/obzor-igry-amy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Тест производительности KittyJS 0.7</title>
		<link>http://www.artem-ko.ru/2012/01/23/test-proizvoditelnosti-kittyjs-0-7/</link>
		<comments>http://www.artem-ko.ru/2012/01/23/test-proizvoditelnosti-kittyjs-0-7/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 10:00:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Dev.]]></category>

		<guid isPermaLink="false">http://www.artem-ko.ru/?p=496</guid>
		<description><![CDATA[Оценка производительности KittyJS 0.7 и сравнение с производительностью jQuery 1.7.1 на аналогичных выборках. Оценивалась суммарное время, необходимое для каждого фреймворка, для выполнения 10 000 операций получения элементов. Цифра на графиках - время в миллисекундах. Зеленый график - KittyJS, синий график - jQuery. Чем ниже график, тем лучше значение. Google Chrome 16 Firefox Internet Explorer 9 Opera [...]]]></description>
			<content:encoded><![CDATA[<p>Оценка производительности KittyJS 0.7 и сравнение с производительностью jQuery 1.7.1 на аналогичных выборках.</p>
<p>Оценивалась суммарное время, необходимое для каждого фреймворка, для выполнения 10 000 операций получения элементов.<br />
Цифра на графиках - время в миллисекундах.<br />
Зеленый график - KittyJS, синий график - jQuery.<br />
Чем ниже график, тем лучше значение.</p>
<p>Google Chrome 16</p>
<p><a href="http://www.artem-ko.ru/wp-content/uploads/2012/01/kst-chrome.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="kst-chrome" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/kst-chrome_thumb.png" alt="kst-chrome" width="646" height="302" border="0" /></a></p>
<p><span id="more-496"></span></p>
<p>Firefox</p>
<p><a href="http://www.artem-ko.ru/wp-content/uploads/2012/01/kst-ff.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="kst-ff" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/kst-ff_thumb.png" alt="kst-ff" width="651" height="303" border="0" /></a></p>
<p>Internet Explorer 9</p>
<p><a href="http://www.artem-ko.ru/wp-content/uploads/2012/01/kst-ie.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="kst-ie" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/kst-ie_thumb.png" alt="kst-ie" width="651" height="302" border="0" /></a></p>
<p>Opera 11:</p>
<p><a href="http://www.artem-ko.ru/wp-content/uploads/2012/01/kst-opera.png" rel="lightbox"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="kst-opera" src="http://www.artem-ko.ru/wp-content/uploads/2012/01/kst-opera_thumb.png" alt="kst-opera" width="651" height="302" border="0" /></a></p>
<p>Тесты:</p>
<ul>
<li>Get By Id - получение элемента по id / $K('#id')</li>
<li>Selector - выборка со сложным условием / $K('tag1 tag2.class tag2.class[attr=value]:state')</li>
<li>Parents - выборка из родителей выборки / $K(slection1).parents(selection2)</li>
<li>Children - выборка из дочерних элементов выборки / $K(selection1).children(selection2)</li>
<li>Siblings - выборка из соседних элементов выборки / $K(selection1).siblings(selection2)</li>
</ul>
<p><a href="http://www.artem-ko.ru/kittyjs/speedtest/">http://www.artem-ko.ru/kittyjs/speedtest/</a></p>
<p>Как видим, выборки по сложным селекторам и выборки дочерних элементов набора заметно опережают по скорости аналогичные операции в jQuery.</p>
<p>С другой стороны, операции поиска соседних и родительских элементов в большинстве браузеров заметно проседают.</p>
<p>Есть еще к чему стремиться.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2012/01/23/test-proizvoditelnosti-kittyjs-0-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KittyJS 0.3</title>
		<link>http://www.artem-ko.ru/2012/01/17/kittyjs-0-3/</link>
		<comments>http://www.artem-ko.ru/2012/01/17/kittyjs-0-3/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 20:30:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://www.artem-ko.ru/?p=480</guid>
		<description><![CDATA[Kitty JS обновился до версии 0.3 Увы, подход описанный в предыдущем посте оказался в неверным, т.к. не позволял делать полноценные выборки по родительским нодам. Например, невозможно было реализовать селектор :last или :even в запросе типа ".divClass:last input". Пришлось вернуться к исходному перебору нод, начиная с родительских. Много надежд возлагал на метод querySelectorAll, однако на практике [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-468" title="Hello, Kitty" src="http://www.artem-ko.ru/wp-content/uploads/2011/12/hello_kitty.jpg" alt="" width="82" height="76" /><br />
Kitty JS обновился до версии 0.3</p>
<p>Увы, подход описанный в предыдущем посте оказался в неверным, т.к. не позволял делать полноценные выборки по родительским нодам. Например, невозможно было реализовать селектор :last или :even в запросе типа ".divClass:last input".</p>
<p>Пришлось вернуться к исходному перебору нод, начиная с родительских.<br />
<span id="more-480"></span><br />
Много надежд возлагал на метод querySelectorAll, однако на практике оказалось, что использование этого метода очень сильно просаживает производительность. Спасает очень быстрый метод getElementsByTagName, в хроме показавший результаты практически вдвое быстрее чем querySelectorAll.</p>
<p>Причину такой разницы в скорости работы <a href="http://www.nczonline.net/blog/2010/09/28/why-is-getelementsbytagname-faster-that-queryselectorall/" target="_blank">описали здесь</a>.</p>
<p>Что реализовано в версии 0.3:</p>
<p><strong>методы</strong><br />
$K(selector).style(name): string<br />
$K(selector).style(name, value)<br />
$K(selector).attr(name): string<br />
$K(selector).attr(name, value)</p>
<p><strong>селекторы</strong><br />
: disabled<br />
: checked<br />
: empty<br />
: first<br />
: last<br />
: even<br />
: odd<br />
: eq(n)<br />
: gt(n)<br />
: gte(n)<br />
: lt(n)<br />
: lte(n)</p>
<p>Тесты производительности:<br />
10 тысяч операций поиска элементов по id, тэгу, классу, атрибутам.<br />
<strong>Chrome 16.</strong><br />
Kitty: 1050 мс<br />
jQuery: 1170 мс</p>
<p><strong>FireFox 7.0.1</strong><br />
Kitty: 1790 мс<br />
jQuery: 1770 мс</p>
<p><strong>IE9</strong><br />
Kitty: 17.2 c<br />
jQuery: 26 c</p>
<p>Результаты IE меня слегка шокировали.<br />
Я, конечно, ожидал результатов несколько ниже чем в хроме или ФФ, но никак не в 20 раз.</p>
<p>@TODO (0.4):</p>
<ul>
<li>селекторы выборки по подстроке значения атрибута (^=, |=, $=, ~=);</li>
<li>базовые методы для работы с нодами и html элементами (find, children, parents, siblings, hasClass, addClass, delClass, val);</li>
<li>события, обработчики событий;</li>
<li>расширения.</li>
</ul>
<p>Скачать, как и прежде, можно тут: <a href="http://www.phpfw.ru/kittyjs/kitty.zip">http://www.phpfw.ru/kittyjs/kitty.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2012/01/17/kittyjs-0-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello, Kitty!</title>
		<link>http://www.artem-ko.ru/2011/12/04/hello-kitty/</link>
		<comments>http://www.artem-ko.ru/2011/12/04/hello-kitty/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 12:54:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Dev.]]></category>

		<guid isPermaLink="false">http://www.artem-ko.ru/?p=466</guid>
		<description><![CDATA[В целях быстрой прокачки скиллов клиент-сайд программирования начал писать собственный JavaScript фреймворк... с блекждеком и... ну, вы поняли... Встречайте, Kitty. При разработке, в основном, ориентировался на jQuery, как самый распространенный, и, пожалуй, самый простой фреймворк. Поэтому в плане интерфейса Kitty будет похож на jQuery, а где-то будет повторять его. Часть 1: поисковый движок. Первой целью, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-468" title="Hello, Kitty" src="http://www.artem-ko.ru/wp-content/uploads/2011/12/hello_kitty.jpg" alt="" width="82" height="76" />В целях быстрой прокачки скиллов клиент-сайд программирования начал писать собственный JavaScript фреймворк... с блекждеком и... ну, вы поняли... <img src='http://www.artem-ko.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Встречайте, Kitty.</p>
<p><span id="more-466"></span><br />
При разработке, в основном, ориентировался на jQuery, как самый распространенный, и, пожалуй, самый простой фреймворк.<br />
Поэтому в плане интерфейса Kitty будет похож на jQuery, а где-то будет повторять его.</p>
<p><strong>Часть 1: поисковый движок.</strong></p>
<p>Первой целью, естественно, было создание поискового движка, позволяющего быстро выбрать все элементы страницы по заданной строке в CSS-совместимом формате (селекторы):</p>
<p>TR#id.class[attr=value]:flag TR#id.class[attr="value"]:flag, TR#id.class[attr='value']:flag</p>
<p>Например:<br />
DIV#myDiv td.evenRow input[type=radio]:checked, DIV#myDiv2 input[type=checkbox]<br />
выборка по этому сложному селектору должна вернуть массив элементов, состоящих из выделенных радиобаттонов, которые находятся в ячейках таблицы, имеющих класс evenRow и находящихся внутри дива с id=myDiv, а так же из чекбоксов, находящихся внутри дива с id=myDiv2.</p>
<p>Для начала строка приводится к правильному виду - удаляются лишние пробелы.</p>
<p>// множество пробелов заменяем одним<br />
selectionStr = selectionStr.replace(/\s+/g," ");</p>
<p>// trim - удаляем пробелы в начале и в конце строки<br />
selectionStr = selectionStr.replace(/^\s|\s$/g,"");</p>
<p>// удаляем пробелы вокруг запятых и лишние запятые<br />
selectionStr = selectionStr.replace(/\s\,/g,",").replace(/\,\s/g,",").replace(/^\,+|\,+$/g,"");</p>
<p>Полученную строку разрезаем по запятым на несколько различных селекторов, результаты которых по завершению всех выборок будут склеены.</p>
<p>Более сложная задача - выборка элементов с учетом иерархии DOM.<br />
Для парсинга отдельных частей сложных селекторов было составлено вот такое регулярное выражение:</p>
<p>/^([*A-Za-z]+)?(\#[A-Za-z\_\-0-9]+)?(\.[A-Za-z\_\-0-9]+)?(\[([A-Za-z\_\-0-9]+)\=["']?([A-Za-z\_\-0-9]+)["']?\])?(\:[A-Za-z\_\-0-9]+)?/i</p>
<p>А так же была написана простейшая функция фильтрации набора нод по заданному простому селектору.</p>
<p>Первой идеей было спускаться по выборке сверху вниз:<br />
т.е. в случае селектора DIV#myDiv td.evenRow input[type=radio]:checked, сначала получаем все ноды страницы, отыскиваем среди них DIV c id=myDiv, получаем все дочерние ноды, ищем среди них td c классом evenRow, получаем их дочерние элементы и среди них выбираем искомые радиобаттоны.</p>
<p>Реализация в 5 строк кода, однако возникло несколько проблем.</p>
<p>Во первых, одна и та же нода могла быть выбрана несколько раз: например, в случае "div div div", приходилось запоминать в отдельный массив, какая нода уже попала в выборку, а какая - нет.</p>
<p>Во вторых, производительность оказалась очень низкой. Цикл из 10 000 выборок работал более 17 секунд.</p>
<p>Остановился на более сложном, но и более быстром алгоритме "снизу вверх":</p>
<p>Сначала на странице находим все элементы, которые удовлетворяют конечным (например, радиобаттоны).<br />
Затем пробегаемся по ним циклом, и для каждого проверяем удовлетворяет ли цепочка их родителей остальной части селектора. При этом, если родители одной ноды удовлетворяют условиям поиска, то другие найденные ноды, с тем же родителем автоматически считаются искомыми. И наоборот, если родители ноды не удовлетворяют селектору, то ее соседки так же исключаются из результатов.</p>
<p>Костяк поискового движка уложился в 100 строк кода, и совсем немного уступает по скорости движку Sizzle, который используется в jQuery - на 10000 сложных выборок - Kitty уступал в скорости jQuery 150-200 мс. При этом, выигрывал 30-70 мс на простых выборках.</p>
<p>Конечно, функционально поисковый Kitty еще заметно уступает Sizzle: не реализована выборка по специальным селекторам вроде :first, :last, :checked и т.п., нет поддержки дочерних элементов вида "a &gt; b", однако, 90% моих потребностей он уже покрывает.</p>
<p>Подключение и работа:</p>
<p>&lt;script type="text/javascript" src="kitty.js"&gt;&lt;/script&gt;</p>
<p>После подключения доступен объект Kitty и короткий алиас $K для выборки элементов.</p>
<p>Пример:<br />
&lt;script&gt;<br />
Kitty.debug = true;<br />
$K("div#div1 li#li2, table li").style('color', 'red');<br />
$K("td ul").style('background-color', 'yellow');<br />
&lt;script&gt;</p>
<p>Ссылка для скачивания:<br />
<a href="http://www.phpfw.ru/kittyjs/kitty.zip">http://www.phpfw.ru/kittyjs/kitty.zip</a></p>
<p>to be continued...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2011/12/04/hello-kitty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Поездка на мраморный карьер</title>
		<link>http://www.artem-ko.ru/2011/10/03/poezdka-na-mramornyj-karer/</link>
		<comments>http://www.artem-ko.ru/2011/10/03/poezdka-na-mramornyj-karer/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 18:34:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Все записи]]></category>
		<category><![CDATA[Поездки]]></category>
		<category><![CDATA[Фото]]></category>

		<guid isPermaLink="false">http://www.artem-ko.ru/?p=432</guid>
		<description><![CDATA[Маленький фотоотчет о поездке на заброшенный мраморный карьер неподалеку от города Искитим. Это место случайно заметил на Google картах, где-то с год назад.  Как оказалось, место довольно популярное среди новосибирских велосипедистов. Такая популярность обусловлена тем, что на велосипеде добраться до карьера проще чем на автомобиле. Мраморный карьер на Google Maps Старый мраморный карьер располагается рядом [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-433" title="Abandoned Marble Quarry" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010181_small.jpg" alt="" width="150" height="149" />Маленький фотоотчет о поездке на заброшенный мраморный карьер неподалеку от города Искитим.</p>
<p>Это место случайно заметил на Google картах, где-то с год назад.  Как оказалось, место довольно популярное среди новосибирских велосипедистов. Такая популярность обусловлена тем, что на велосипеде добраться до карьера проще чем на автомобиле.</p>
<p><a href="http://maps.google.ru/?ll=54.602537,83.345354&amp;spn=0.003524,0.010568&amp;t=h&amp;z=17&amp;vpsrc=6" target="_blank">Мраморный карьер на Google Maps</a></p>
<p>Старый мраморный карьер располагается рядом с действующим карьером между городом Искитим и поселком Ложки.</p>
<p><span id="more-432"></span>Проехали через Ложки на север, до действующего карьера.  Там взяли правее и через луга-поля добрались до подъема на холм.</p>
<p>Вот как-то так:<br />
<img class="size-full wp-image-434 alignnone" title="Проехать можно вот так" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/karta.jpg" alt="" width="389" height="533" /></p>
<p>Дорога местами подпорчена БелАЗами и прочей спецтехникой</p>
<p><img class="alignnone size-large wp-image-439" title="дороха" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA0102421-1024x766.jpg" alt="" width="600" height="448" /></p>
<p>так что ехать желательно на машине повышенной проходимости, которую особо не жалко.</p>
<p>Например, на подъезде к карьеру, мы встретили вот такой вот рестайлинговый ZAZ-пикап:</p>
<p><img class="alignnone size-large wp-image-440" title="zaz-pickup" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/vlcsnap-2011-10-02-23h26m51s831-1024x576.png" alt="" width="600" /></p>
<p>Сами же двинули на своем вездеходе:</p>
<p><img class="alignnone size-full wp-image-442" title="OLYMPUS DIGITAL CAMERA" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010124_small.jpg" alt="" width="600" height="463" /></p>
<p>По пути попадаются завалы из отработанного камня:</p>
<p><img class="alignnone size-large wp-image-444" title="камни" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010105-1024x766.jpg" alt="" width="600" height="448" /></p>
<p>А еще тут очень много облепихи:</p>
<p><img class="alignnone size-large wp-image-445" title="oblepikha" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010084-1024x766.jpg" alt="" width="600" height="448" /></p>
<p>Немного недоезжая старого карьера советую обязательно остановиться и полюбоваться отличными видами на действующий карьер.</p>
<p><img class="alignnone size-large wp-image-443" title="вид на карьер" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010132-1024x766.jpg" alt="" width="600" height="448" /></p>
<p>Метров за 200 до карьера дорога заканчивается. Мы решили срезать по кустам, однако гораздо более безопасно просто пройти прямо по тому, что осталось от дороги.</p>
<p>Идеально прямые углы "ступеней" карьера в сочетании с общим окружением производят, конечно, очень сильное впечатление.</p>
<p><img class="alignnone size-large wp-image-449" title="stairs" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010143_rcorr-766x1024.jpg" alt="" width="600" /></p>
<p>Там внизу, кстати, шикарная аккустика.</p>
<p>На дне глубокой части карьера неглубокое озеро заваленое проржавевшими бочками и пустыми бутылками.<br />
Озеро кажется необитаемым, что наводит на нехорошие мысли о содержимом этих бочек.</p>
<p><img class="alignnone size-large wp-image-451" title="озеро на дне" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010154-1024x766.jpg" alt="" width="600" height="448" /></p>
<p>По этой насыпи мы выбрались в менее глубокую часть карьера:</p>
<p><img class="alignnone size-large wp-image-452" title="насыпь" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010162-1024x766.jpg" alt="" width="600" height="448" /></p>
<p><img class="alignnone size-large wp-image-454" title="мелкий карьер" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010181-1024x766.jpg" alt="" width="600" height="448" /></p>
<p>Там, на дне, мы обнаружили небольшую пещеру:</p>
<p><a rel="lightbox" href="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010165.jpg"><img class="alignnone size-large wp-image-453" title="hole" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010165-1024x766.jpg" alt="" width="600" height="448" /></a></p>
<p>На сайте <a href="http://byloe.ru/mesta/place/iskitimskij-mramornyj-karer/photos/5/" target="_blank">былое.ру</a> делалось предположение о демоническом происхождении этой дыры.<br />
Мы проверили - всё брехня <img src='http://www.artem-ko.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Так по ступенькам мы потихоньку вылезли на поверхность.</p>
<p><img class="alignnone size-large wp-image-455" title="тяни" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010175-1024x766.jpg" alt="" width="600" height="448" /></p>
<p>Там тоже было где полазить:</p>
<p><img class="alignnone size-large wp-image-456" title="камешег" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010182-766x1024.jpg" alt="" width="600" /></p>
<p>А это, видимо, остатки рабочего жилья...</p>
<p><img class="alignnone size-large wp-image-458" title="стены" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010212-1024x766.jpg" alt="" width="600" height="448" /></p>
<p>Оттуда уже рукой подать до дороги, которая вывела нас назад к машине.</p>
<p>Небольшая панорама действующего карьера:</p>
<p><a rel="lightbox" href="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010252_panorama.jpg"><img class="alignnone size-large wp-image-459" title="panorama" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010252_panorama-1024x451.jpg" alt="" width="600" /></a></p>
<p>Вот собственно и всё.</p>
<p><img class="alignnone size-large wp-image-460" title="пока" src="http://www.artem-ko.ru/wp-content/uploads/2011/10/PA010114-1024x766.jpg" alt="" width="600" height="448" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2011/10/03/poezdka-na-mramornyj-karer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как умер PHP6</title>
		<link>http://www.artem-ko.ru/2011/09/07/kak-umer-php6/</link>
		<comments>http://www.artem-ko.ru/2011/09/07/kak-umer-php6/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 18:51:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Dev.]]></category>
		<category><![CDATA[Все записи]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://live.nsk.ru/?p=427</guid>
		<description><![CDATA[Микро некролог. Юнико́д (англ. Unicode) — стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Одновременно с появлением всемирной паутины, появилась необходимость создания единой всемирной кодировки, где каждому существующему символу был бы присвоен свой уникальный код. Такой кодировкой стал Юникод. К настоящему моменту Юникод покрывает все основные действующие языки мира и включает в себя [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/09/l9780470391143.jpg"><img class="alignleft size-thumbnail wp-image-428" title="l9780470391143" src="http://live.nsk.ru/wp-content/uploads/2011/09/l9780470391143-150x150.jpg" alt="" width="150" height="150" /></a>Микро некролог.</p>
<p>Юнико́д (англ. Unicode) — стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков.</p>
<p>Одновременно с появлением всемирной паутины, появилась необходимость создания единой всемирной кодировки, где каждому существующему символу был бы присвоен свой уникальный код. Такой кодировкой стал Юникод. К настоящему моменту Юникод покрывает все основные действующие языки мира и включает в себя коды около ста девяти тысяч символов.</p>
<p>Являясь одним из самых распространенных в мире серверных языков программирования, PHP до сих пор не имеет полноценной поддержки Юникода.</p>
<p><span id="more-427"></span></p>
<p>В феврале 2005 года, когда о PHP5 многие разработчики знали только по слухам, а термин AJAX еще даже не был придуман, штатный сотрудник компании Yahoo, а по совместительству один из соавторов ядра PHP, отец-основатель амбициозного проекта PHP-GTK, всемирно известного шаблонизатора Smarty, и просто большой любитель пенного напитка, Андрей Змиевский, вместе с небольшой группой единомышленников из Yahoo, Zend и сообщества разработчиков PHP, стартуют новый проект, основной целью которого, являлось внедрение в PHP нативной и тотальной поддержки Юникода на всех уровнях: ядром, расширениями, программным интерфейсом.</p>
<p>Будучи сотрудниками весьма солидных IT компаний и трепетно относящимися к своему делу специалистами, эти ребята решили все делать по-уму:<br />
- проектирование до кодирования;<br />
- итеративная разработка;<br />
- полностью нативный код, без костылей, хаков и т.п;<br />
- полное покрытие кода тестами.</p>
<p>В качестве основы данного решения была выбрана библиотека International Components for Unicode (ICU) <a href="http://site.icu-project.org/">http://site.icu-project.org/</a>, на данный момент являющейся самой полной и самой функциональной кроссплатформенной библиотекой в своей области. Как видно из названия, кроме задач связанных непосредственно с обработкой данных в формате Юникод, эта библиотека так же решает задачи связанные с вопросами интернационализации: нормализация, сортировка, работа с денежными и временными форматами, транслитеризация и IDN. Кроме того, разработка ICU жестко контролируется консорциумом менеджеров компаний Google, IBM и Apple.</p>
<p>Изначально работа велась в отдельном репозитории, но как только был закончен базовый функционал, код был перенесен в основную ветку разработки 5.X, и к работе над новой версией PHP присоединились остальные члены сообщества разработчиков. Кроме поддержки Юникода, в ветку начал добавляться новый функционал.</p>
<p>Очень скоро стало понятно, что изменения связанные с внедрением поддержки Юникода настолько серьезно затронут ядро, что приведут к апгрейду основной версии. Так появился PHP6.</p>
<p>На этом этапе команда разработчиков Андрея Змиевского уже столкнулась с первыми трудностями.</p>
<p>В первую очередь, это была дилемма, а точнее, трилемма выбора основной кодировки: UTF-8, UTF-16 или UTF-32, каждая из которых имеет собственный набор сильных и слабых мест. Выбор был остановлен на UTF-16. Основным минусами этой кодировки являлось двукратное увеличение объема данных, отсутствие прямой адресации, множественные сопутствующие преобразования данных, и невозможность манипуляции этими данными с помощью стандартных строковых функций языка Си. Как позднее признаются разработчики, если бы они могли начать все сначала, то выбор бы пал на UTF-8.</p>
<p>Как следствие множественных преобразований данных, появилось ощутимое снижение производительности в работе критичных компонент PHP: тормозить стали PDO и нативные расширения БД, строковые операции, так или иначе связанные с поиском подстроки, функции фильтрации данных. Снижение скорости работы было так же отмечено во многих стандартных и дополнительных расширениях PHP.</p>
<p>Это означало страшное: необходимость переписывать весь ключевой код ядра PHP и расширений.</p>
<p>Поскольку ветка находилась в общем доступе всего сообщества разработчиков PHP, развитие проекта было сильно усложнено: для обеспечения приемлемой производительности, новые фичи PHP должны были реализовываться с учетом требований накладываемых поддержкой Юникода, а переработка базового функционала PHP не должна была негативно влиять на уже реализованный функционал. С учетом того, что в полной мере все тонкости ICU понимали менее десяти разработчиков из всего сообщества, процесс двигался очень медленно, если не сказать, топтался  на месте.</p>
<p>Команда Змиевского теряла кадры, т.к. люди, попросту, устали годами переписывать снова и снова одни и те же куски кода.</p>
<p>В конце концов, реализация решения поддержки Юникода в PHP была признана технически слишком сложной, а дальнейшее развитие проекта - бесперспективным.</p>
<p>В марте 2010 года в палате интенсивной терапии (по иронии судьбы, в английском языке ей соответствует аббревиатура "ICU") доктор Джани Таскинен отключил пациента PHP6 от аппарата искусственного жизнеобеспечения.</p>
<p>Ветка PHP6 была перенесена из trunk в branch, trunk заняла ветка PHP 5.4.<br />
Часть органов пациента PHP6, не связанных с Юникодом, была передана PHP 5.4.</p>
<p>PHP6: время смерти 11 марта 2010 года, 11 часов 9 минут 37 секунд.</p>
<p><span style="color: #800000;">(на этом месте, всем разработчикам, которым была небезразлична судьба этого проекта, и, в целом, нативной поддержки Юникода в PHP, предлагаю встать и почтить минутой молчания, безвременно ушедшую от нас шестую версию PHP).</span></p>
<p>Каков печальный итог этой истории:</p>
<p>- десяток загубленных человеколет работы;<br />
- тысячи экземпляров неактуальной литературы по PHP6 (<a href="http://www.wrox.com/WileyCDA/WroxTitle/Professional-PHP6.productCd-0470395095.html">http://www.wrox.com/WileyCDA/WroxTitle/Professional-PHP6.productCd-0470395095.html</a>);<br />
- вероятно, полноценная поддержка Юникода в PHP уже никогда не будет реализована.</p>
<p><a href="http://zmievski.org/files/talks/phpcomcon-2011/what-happened-to-unicode-and-php-6.pdf">http://zmievski.org/files/talks/phpcomcon-2011/what-happened-to-unicode-and-php-6.pdf</a><br />
<a href="http://www.teamlalala.com/blog/2010/03/30/whatever-happened-to-php6/">http://www.teamlalala.com/blog/2010/03/30/whatever-happened-to-php6/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2011/09/07/kak-umer-php6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Обзор телефона Alfa Trident</title>
		<link>http://www.artem-ko.ru/2011/08/27/obzor-telefona-alfa-trident/</link>
		<comments>http://www.artem-ko.ru/2011/08/27/obzor-telefona-alfa-trident/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 14:39:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Железки]]></category>

		<guid isPermaLink="false">http://live.nsk.ru/?p=403</guid>
		<description><![CDATA[Вот уже месяц пользуюсь китайским Android-телефоном "Alfa Trident". И, поскольку данная модель изменила мое мнение о качестве китайских поделок, хочу поделиться некоторыми впечатлениями. При выборе этой модели, руководствовался следующими требованиями: большой емкостной экран, 2 сим карты, Android 2.2, WiFi, GPS. Это далеко не первый Android-девайс, которым мне довелось пользоваться. И даже на данный момент в [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-404" title="000" src="http://live.nsk.ru/wp-content/uploads/2011/08/000-150x150.jpg" alt="000" width="150" height="150" />Вот уже месяц пользуюсь китайским Android-телефоном "<a href="http://www.chinavasion.com/android-tablets-phones/alpha-trident-android-22-froyo-smartphone-with-35-inch-touchscreen-dual-sim-wifi/">Alfa Trident</a>".</p>
<p>И, поскольку данная модель изменила мое мнение о качестве китайских поделок, хочу поделиться некоторыми впечатлениями.</p>
<p><span id="more-403"></span></p>
<p>При выборе этой модели, руководствовался следующими требованиями: большой емкостной экран, 2 сим карты, Android 2.2, WiFi, GPS.</p>
<p>Это далеко не первый Android-девайс, которым мне довелось пользоваться. И даже на данный момент в эксплуатации находятся два Android-планшета: Oysters T7 и Samsung Galaxy Tab P1010.</p>
<p>Итак, что же обещал производитель:</p>
<p><strong>Manufacturer Specifications</strong></p>
<ul>
<li>Network: Quadband GSM frequencies 850MHz, 900MHz, 1800MHz, 1900MHz</li>
<li>Screen Size: 3.5 Inch</li>
<li>Screen resolution: HVGA (320*480)</li>
<li>GPS: SiRF III Hardware</li>
<li>Internet: GPRS, WAP, Wi-Fi (802.11g)</li>
<li>Bluetooth: 2.1</li>
<li>Hardware Platform: MTK6516</li>
<li>CPU Speed: ARM 9 416MHz</li>
<li>RAM: 256MB</li>
<li>Internal memory: 512MB</li>
<li>External memory: Up to 16GB Micro SD (not included)</li>
<li>Operating System: Android 2.2 Froyo</li>
<li>Touch-screen: Multi-touch</li>
</ul>
<p>Таким образом, имеем девайс на платформе MTK6516, с емкостным экраном 3.5 дюйма, поддержкой GPS, Wi-Fi и операционной системой Android 2.2 Froyo.</p>
<p><strong>Комплектация</strong></p>
<p>В небольшой коробочке ничего особо примечательного.<br />
Телефон, два аккумулятора, USB кабель и USB зарядное устройство.</p>
<p>Аккумуляторы имеют маркировку GB/T18287-2000 1800 mAh, и как выяснилось довольно распространены.</p>
<p>А вот разъем дата/зарядного-кабеля, к сожалению, идентифицировать не удалось. С виду похож на самсунговский, но не совпадают контакты.</p>
<p>На торцевой стороне телефона имеется гнездо для стандартной зарядки Nokia (6101 и др.) что является очень большим плюсом, на случай повреждения или утери USB кабеля.</p>
<p><strong>Внешний вид и корпус</strong></p>
<p><a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/08/001.jpg"><img class="alignnone size-thumbnail wp-image-407" title="001" src="http://live.nsk.ru/wp-content/uploads/2011/08/001-150x150.jpg" alt="001" width="150" height="150" /></a> <a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/08/002.jpg"><img class="alignnone size-thumbnail wp-image-408" title="002" src="http://live.nsk.ru/wp-content/uploads/2011/08/002-150x150.jpg" alt="002" width="150" height="150" /></a> <a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/08/003.jpg"><img class="alignnone size-thumbnail wp-image-411" title="003" src="http://live.nsk.ru/wp-content/uploads/2011/08/003-150x150.jpg" alt="003" width="150" height="150" /></a> <a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/08/005.jpg"><img class="alignnone size-thumbnail wp-image-415" title="005" src="http://live.nsk.ru/wp-content/uploads/2011/08/005-150x150.jpg" alt="005" width="150" height="150" /></a></p>
<p>Внешне почти не отличим от HTC Desire Z и точная копия другого китайского телефона, известного под маркой A5000.<br />
Корпус сделан добротно, не ходит, не скрипит, задняя крышка оформлена под алюминий, дизайн приятен, а сам телефон хорошо лежит в руке.</p>
<p>Вес около 120 грамм, что сравнимо с массой iPhone4, однако эппловский аппарат кажется немного тяжелее.</p>
<p>Не знаю, отнести это к минусам или к плюсам конструкции, но открытие задней крышки требует значительных усилий и далось мне не с первого раза.</p>
<p>Под экраном находятся сенсорные кнопки (домой, меню, назад, поиск) и небольшая черная кнопка, на деле оказавшаяся миниатюрным тачпадом.</p>
<p><strong>Экран</strong></p>
<p><strong><a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/08/004.jpg"><img class="size-thumbnail wp-image-412 alignright" title="004" src="http://live.nsk.ru/wp-content/uploads/2011/08/004-150x150.jpg" alt="004" width="150" height="150" /></a></strong></p>
<p>Экран у Alfa Trident великолепен. Чувствительность не хуже чем у топовых моделей HTC и Samsung - даже легкого прикосновения достаточно, чтобы передвинуть рабочий стол или пролистнуть список. Никаких посторонних срабатываний, все четко, как в госдуме.</p>
<p>Разрешение экрана 320x480. Невысокое, но вполне достаточное для телефона.<br />
Позволяет относительно комфортно серфить интернет, пользоваться 2gis, читалками и т.п.</p>
<p>Мультитач, естественно, работает.</p>
<p><strong>Производительность</strong></p>
<p>Не смотря на то, что MTK6516 не может похвастаться кучей мегагерц (два ядра - 460 и 280 МГц соответственно), по скорости работы намного превосходит большинство китайских планшеты на 600-800 МГц платформах от Telechips.</p>
<p>Переключаясь с гигагерцового Samsung Galaxy Tab на этот телефон не испытываю никакого дискомфорта, т.к. явных тормозов замечено не было (кроме, пожалуй, первых 20 секунд после загрузки, когда идет загрузка и синхронизация виджетов).</p>
<p><strong>Коммуникации, GPS</strong></p>
<p>В телефоне есть поддержка Bluetooth, WiFi (802.11b/g).<br />
Поддержки 3G нет. Телефон работает с GPRS и EDGE.</p>
<p>GPS и A-GPS работают на ура. Телефон в считанные секунды определяет положение по сотовому оператору, и в течении минут уточняет его основываясь на данных спутников. Без каких-либо особых настроек GPS находит от 7 до 12 спутников.</p>
<p>За 2 недели использования телефон за счет синхронизации виджетов высосал с моего счета 500 рублей за оплату трафика. После чего я озаботился поиском решения для принудительного включения/отключения возможности использования GPRS. Увы, ни одно приложение из маркета не работает. Чуть позднее в настройках сети нешел возможность отключения установки информационного соединения (там где выбирается сим-карта, через которую будет устанавливаться информационное соединение).</p>
<p><strong>Камера</strong></p>
<p>Камера телефона - полный отстой.<br />
Похоже на 0.3 мегапикселя с хреновой интерполяцией до 1.3.</p>
<p><a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/08/img_20110803_170012.jpg"><img class="alignnone size-thumbnail wp-image-416" title="img_20110803_170012" src="http://live.nsk.ru/wp-content/uploads/2011/08/img_20110803_170012-150x150.jpg" alt="img_20110803_170012" width="150" height="150" /></a> <a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/08/img_20110803_170017.jpg"><img class="alignnone size-thumbnail wp-image-417" title="img_20110803_170017" src="http://live.nsk.ru/wp-content/uploads/2011/08/img_20110803_170017-150x150.jpg" alt="img_20110803_170017" width="150" height="150" /></a></p>
<p>Качество, зачастую, недостаточное даже для того, чтобы запостить фото в твиттер.<br />
Хотя, иногда, получаются более-менее сносные фото.</p>
<p>Вспышка не работает. Ну как не работает... Что-то там светит, но ничего не освещает.</p>
<p>В режиме видео получается честное VGA.</p>
<p><iframe width="640" height="480" src="http://www.youtube.com/embed/p1yr-xIzRyE?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>В общем, с камерой китайцы, как обычно, схалтурили.</p>
<p><strong>Некоторые особенности</strong></p>
<p>- С первого раза не удалось вставить SD-карту. Довольно сложно попасть в нужный паз.</p>
<p>- МТС-овская симка время от времени пропадала. Помогла зачистка контактов  сим-карты.</p>
<p>- По умолчанию напрягает не слишком громкий звук. Лечится изменением настроек в системном меню.</p>
<p>- Вызов системного меню: <span>*#*#3646633#*#*</span></p>
<p><span>- Не удалось заставить работать Skype, однако IM+ вполне удовлетворил возможностями</span></p>
<p><span>- Еще один минус свойственный многим тачфонам эконом-класса: отсутствие фронтального датчика освещенности. Во время разговора экран не блокируется и ухом нажимаются разные кнопки <img src='http://www.artem-ko.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </span></p>
<p>Хорошее описание по настройкам инженерного меню и  настройке звука в частности: <a href="http://forum.china-iphone.ru/viewtopic.php?f=22&amp;t=12926&amp;sid=f11f21bdd5906a2022ffe5ce1f2dcec0&amp;start=780">http://forum.china-iphone.ru/viewtopic.php?f=22&amp;t=12926&amp;sid=f11f21bdd5906a2022ffe5ce1f2dcec0&amp;start=780</a></p>
<p>Сравнение габаритов с Samsung 5112 и Samsung Galaxy Tab:</p>
<p><a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/08/006.jpg"><img class="alignnone size-medium wp-image-418" title="006" src="http://live.nsk.ru/wp-content/uploads/2011/08/006-300x274.jpg" alt="006" width="300" height="274" /></a></p>
<p><strong>Вывод</strong></p>
<p>Минусы модели:</p>
<p>- отсутствие 3G<br />
- слабая камера<br />
- нестандартный разъем USB</p>
<p>Плюсы:</p>
<p>- крепкий хороший корпус<br />
- 2 SIM карты<br />
- отличный экран<br />
- неплохая скорость работы<br />
- большое количество бесплатного софта<br />
- низкая цена</p>
<p>... и да, в нем есть телевизор ... <img src='http://www.artem-ko.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2011/08/27/obzor-telefona-alfa-trident/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проба камеры</title>
		<link>http://www.artem-ko.ru/2011/03/21/proba-kamery/</link>
		<comments>http://www.artem-ko.ru/2011/03/21/proba-kamery/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 08:42:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Все записи]]></category>

		<guid isPermaLink="false">http://live.nsk.ru/?p=399</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="350" data="http://www.youtube.com/v/B3QR7Eh_e5o" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/B3QR7Eh_e5o" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2011/03/21/proba-kamery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extreme Sports Camera &#8212; All Metal Hercules Edition</title>
		<link>http://www.artem-ko.ru/2011/01/11/extreme-sports-camera-all-metal-hercules-edition/</link>
		<comments>http://www.artem-ko.ru/2011/01/11/extreme-sports-camera-all-metal-hercules-edition/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 19:35:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Chinavasion]]></category>
		<category><![CDATA[Железки]]></category>
		<category><![CDATA[Хотелки]]></category>

		<guid isPermaLink="false">http://live.nsk.ru/?p=373</guid>
		<description><![CDATA[В предвкушении близящейся поездки в Шерегеш, которая когда-нибудь, да случится, этой зимой, приобрел на упомянутом здесь уже магазине ChinaVasion супер-пупер-спортивно-экстремальную-камеру Extreme Sports Camera - All Metal Hercules Edition. По сути, это девайс, похожий на фонарик, который с помощью резиночек цепляется к шлему/голове/ноге (кому как удобнее) и ведет съемку всего происходящего вокруг. В теории - незаменимый [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-374" title="chinavasion-cvls-dv20-1thumb_240x240" src="http://live.nsk.ru/wp-content/uploads/2011/01/chinavasion-cvls-dv20-1thumb_240x240.jpg" alt="chinavasion-cvls-dv20-1thumb_240x240" width="240" height="240" /></p>
<p>В предвкушении близящейся поездки в Шерегеш, которая когда-нибудь, да случится, этой зимой, приобрел на упомянутом здесь уже магазине <a href="http://www.chinavasion.com" target="_blank">ChinaVasion </a>супер-пупер-спортивно-экстремальную-камеру <a href="http://www.chinavasion.com/product_info.php/pName/extreme-sports-camera-all-metal-hercules-edition/" target="_blank">Extreme Sports Camera - All Metal Hercules Edition</a>.</p>
<p>По сути, это девайс, похожий на фонарик, который с помощью резиночек цепляется к шлему/голове/ноге (кому как удобнее) и ведет съемку всего происходящего вокруг.</p>
<p>В теории - незаменимый  инструмент для лыжников/сноубордистов/велобайкеров/парашютистов/дельтапланеристов и других любителей экстремальных видов спорта, позволяющий в деталях от первого лица запечатлеть все самые интересные моменты спуска-полета-падения.</p>
<p><span id="more-373"></span></p>
<p>Заказ был сделан 13 декабря. Получил я это чудо китайской техники 10 января. В равной степени "спасибо" как российской, так и китайской почтам.</p>
<p>С доставкой обошлось $50. Т.е. чуть более полутора тысяч рублей.</p>
<p>Состав коробочки:</p>
<p><img class="size-full wp-image-379 alignnone" title="allparts" src="http://live.nsk.ru/wp-content/uploads/2011/01/allparts.jpg" alt="allparts" width="500" height="490" /></p>
<p>В составе: сама камера, резиновое крепление на шлем, крепление в автомобиль в разобранном виде, некое подобие глазка-видоискателя, какой-то хитрый зажимчик для крепления на что-то круглое, USB кабель, зарядка (не вошла в кадр), инструкция на английском и китайском языках, диск с драйверами.</p>
<p>Внешний вид камеры, так сказать, клоуз-ап:</p>
<p><img class="alignnone size-full wp-image-380" title="camera" src="http://live.nsk.ru/wp-content/uploads/2011/01/camera.jpg" alt="camera" width="500" height="374" /></p>
<p>Что можно отметить...</p>
<p>Материал из которого изготовлен корпус камеры по тактильным ощущениям очень похож на пластик, однако по звуку определяется металл. Возможно, какой-то дешевый композитный материал. Увы, мой масс-спектрометр на ремонте, поэтому точный химический состав материала определить возможности не представилось.</p>
<p>Все управление производится нажатием на одну единственную кнопку. Для определения текущего состояния устройства рядом с кнопкой управления присутствуют четыре световых индикатора.</p>
<p>Задняя часть камеры закрыта ввинчивающейся крышечкой, под которой находится кнопка питания, слот microSD каты и miniUSB разъем для присоединения зарядки или подключения к ПК.</p>
<p>Вид сзади со снятой крышечкой:</p>
<p><img class="alignnone size-full wp-image-381" title="backside" src="http://live.nsk.ru/wp-content/uploads/2011/01/backside.jpg" alt="backside" width="500" height="418" /></p>
<p>Карта памяти в комплект не входила, купил отдельно 8Gb нонейм из тайваня. Сразу скажу, разъем для карт памяти тут просто западлянский <img src='http://www.artem-ko.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  - вставляя, довольно тяжело сразу правильно направить карточку, так, чтобы она точно попала в разъем и зафиксировалась. А если вставленную до конца, но не зафиксированную карточку отпустить - выталкивающий механизм молниеносно выплевывает ее на 3-4 метра. Учитывая скромные габариты microSD, найти место ее приземления может оказаться весьма и весьма затруднительным. А если дело на природе - можно считать карта утеряна. В общем, при установке/смене карточки нужно проявлять предельную осторожность.</p>
<p>Заявленные технические характеристики:</p>
<ul>
<li>Матрица: 1/4 дюйма CMOS 3MP</li>
<li>Выдержка: 1/8 - 1/5000 сек  (авто)</li>
<li>Питание: Встроенный аккумулятор Li-ion 490mAH</li>
<li>Память: TF card или Micro SD card (8 GB max) - не включена</li>
<li>Водонепроницаемый корпус</li>
<li>Запись по кругу: Нет</li>
<li>Кадров в секунду: 25</li>
<li>Время полной зарядки: 4-6 часа</li>
<li>До двух часов записи на полный заряд</li>
<li>Размер файла: 30 Мб / минута</li>
<li>Время всегда выводится в кадре</li>
<li>Разрешение видео: 720x480</li>
<li>Разрешение фото: 1280x1024</li>
</ul>
<p>Тестирование камеры начал с юзабилити. Для этого девайс был вдет (с трудом, надо сказать) в прилагающееся резиновое крепление и натянут на головной убор. Камера довольно легкая, практически не ощущается.</p>
<p>Сразу проявилось несколько недостатков. Во-первых, при одетой камере довольно сложно ее включить: для этого нужно отвинтить заднюю крышку, щелкнуть кнопку включения и закрутить крышку назад чтобы в суе не потерять карту памяти. Во-вторых, невозможно точно угадать в каком режиме сейчас работает камера, ее статус определяется по световым индикаторам, которые в момент съемки будут недоступны для обзора. Как вариант - носить с собой зеркальце, либо включать камеру и запись до того, как одеть головной убор. Еще один недостаток выявился в период эксплуатации: просто одев камеру довольно сложно сказать, в какую сторону она направлена, малейшее смещение угла вверх-вниз приводит к тому, что в кадр попадает либо одно небо, либо одна земля. Еще один неприятный момент: резиновое крепление иногда сползает на кнопку старта/остановки записи, что приводит к выключению камеры.</p>
<p>Видео записывается отрывками по 100 мегабайт (3-4 минуты видео). После заполнения карты памяти запись прекращается.  На картинке всегда присутствует дата и время, которое сбрасывается при каждом чихе. Инструкцию по установке даты и времени с трудом нашел в прилагаемом "мануале".</p>
<p>Качество съемки.</p>
<p>Проверку качества производил в трех условиях: в помещении при естественном освещении, на улице в дневное время, на улице в вечернее время. При этом старался быстро крутить камеру, чтобы оценить насколько будет "смазываться" картинка при резких поворотах головы.</p>
<p>Помещение, естественное освещение.</p>
<p><object width="425" height="350" data="http://www.youtube.com/v/CVK_2OZSNhA" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/CVK_2OZSNhA" /></object></p>
<p>Как видно - качество неподвижной картинки сравнительно приемлемое, а вот в движении все смазывается в разноцветные сопли.</p>
<p>На улице, в дневное время:</p>
<p><object width="425" height="350" data="http://www.youtube.com/v/AbpwBlKHjSs" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/AbpwBlKHjSs" /></object></p>
<p>Качество картинки неплохое (ютуб заметно его испакостил, оригинал можно скачать <a href="http://live.nsk.ru/wp-content/uploads/2011/01/test3.avi">тут</a>). При резких движениях картинка не смазывается, хотя местами заметно искажается.</p>
<p>Утро, еще не рассвело. Съемка производилась из окна, но качество идентично тому что получается на улице.</p>
<p><object width="425" height="350" data="http://www.youtube.com/v/Tg1ZR55EjBk" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/Tg1ZR55EjBk" /></object></p>
<p>Картинка различима, имеет место заметный шум и смазывание на резких движениях.</p>
<p>"Ночь, улица, фонарь, аптека..."</p>
<p><object width="425" height="350" data="http://www.youtube.com/v/nl68V-TyoYI" type="application/x-shockwave-flash"><param name="src" value="http://www.youtube.com/v/nl68V-TyoYI" /></object></p>
<p>Это полный писец. В темное время суток камера использует максимальную выдержку, изображение получается дерганым и невероятно смазанным, при этом окрашивается в неестественно зеленые цвета. В добавок очень сильное зашумлние.</p>
<p>Вывод: камера абсолютно не пригодна для съемок в темное время суток.</p>
<p>Запись звука.</p>
<p>Видео выложил без звука, хотя он там был. Чтобы не палиться <img src='http://www.artem-ko.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Скажу одно - микрофон слишком чувствительный к находящимся рядом источникам звука - шуршание одежды, звук двигателя авто, дыхание носителя - все это очень неприятно фонит.</p>
<p>Качество фото.</p>
<p>Помещение, естественное освещение.</p>
<p><a rel="lightbox" href="http://live.nsk.ru/wp-content/uploads/2011/01/sunp0013.jpg"><img class="alignnone size-medium wp-image-385" title="sunp0013" src="http://live.nsk.ru/wp-content/uploads/2011/01/sunp0013-300x240.jpg" alt="sunp0013" width="300" height="240" /></a></p>
<p>Фото кликабельно...1</p>
<p>Мой первый телефон с камерой 7 лет назад делал снимки лучше.</p>
<p>Хотел еще потестировать камеру на предмет заявленной водонепроницаемости, но, пожалуй, приберегу эту возможность на потом, после того, как, хотя бы, проверю чудо-девайс в боевых условиях.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artem-ko.ru/2011/01/11/extreme-sports-camera-all-metal-hercules-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://live.nsk.ru/wp-content/uploads/2011/01/test3.avi" length="4192600" type="video/x-msvideo" />
		</item>
	</channel>
</rss>

