<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Carbon.JS — A simple JavaScript framework</title>
	
	<link>http://carbonjs.com</link>
	<description>Описание вашего блога</description>
	<lastBuildDate>Wed, 18 May 2011 15:18:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CarbonJS" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="carbonjs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>100500-й обзор iPhone 4</title>
		<link>http://author.carbonjs.com/100500-%d0%b9-%d0%be%d0%b1%d0%b7%d0%be%d1%80-iphone-4/</link>
		<comments>http://author.carbonjs.com/100500-%d0%b9-%d0%be%d0%b1%d0%b7%d0%be%d1%80-iphone-4/#comments</comments>
		<pubDate>Wed, 18 May 2011 11:47:37 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Блог разработчика]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[обзор]]></category>

		<guid isPermaLink="false">http://author.carbonjs.com/?p=170</guid>
		<description><![CDATA[&#8230; или обзор от бывшего владельца Nokia 5800.
До этого у меня никогда не было какой-либо техники Apple, и всё моё общение с этим чудом техники ограничивалось фразами типа &#8220;Дай полапать&#8221; и &#8220;Дай пошпилить в Angry Birds&#8221;, так что в большей степени это будет обзор в сравнении с моим прошлым телефоном &#8211; Nokia 5800.

Почему я решил [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; или обзор от бывшего владельца Nokia 5800.</p>
<p>До этого у меня никогда не было какой-либо техники Apple, и всё моё общение с этим чудом техники ограничивалось фразами типа &#8220;Дай полапать&#8221; и &#8220;Дай пошпилить в Angry Birds&#8221;, так что в большей степени это будет обзор в сравнении с моим прошлым телефоном &#8211; Nokia 5800.</p>
<p><span id="more-170"></span></p>
<p>Почему я решил купить именно iPhone? С января 2009 года я был владельцем Nokia 5800 (до этого был SonyEricsson k750i, но его в расчёт не беру), которая позиционировалась как &#8220;убийца айФона&#8221;, имелся в виду iPhone 3G. В общем-то, первый год меня всё в ней устраивало. Да, софта было мало (особенно нормальных игрушек) и выходил он редко, но, в принципе, нужные вещи вроде аськи, почты и браузера были. Новые прошивки выходили довольно часто, всё время что-то улучшалось и добавлялось. Народ был доволен.</p>
<p>Спустя год и 1 месяц, т.е. когда закончилась гарантия, начались проблемы, а именно появление &#8220;радуги&#8221; на экране.</p>
<p><img src="http://carbonjs.com/pics/rainbow.jpg" width="446" height="259" border="0" alt="" /></p>
<p>Сначала она появлялась при небольшом охлаждении аппарата, т.е. после улицы зимой. Если немного отогреть телефон, то она пропадала. Спустя некоторое время радуга начала появляться чаще &#8211; достаточно было оставить телефон на ночь на столе. Ещё позже уже даже держание телефона подмышкой перестало помогать.</p>
<p>Результаты поиска в интернете по этой теме не заставили себя ждать &#8211; такая проблема была чуть ли не у всех(!) данных аппаратов из первых партий. Лечилось это &#8220;инъекцией&#8221; магнита внутрь телефона, либо прикладыванием оного к определенному месту. Вот так я и проходил несколько месяцев с магнитиком от лего в кармане&#8230; В итоге меня это достало, и в январе 2011 засунул магнит внутрь телефона, чтобы не таскать его с собой отдельно.</p>
<p>Первое время всё работало как надо &#8211; полоски пропали. Но вскоре начались другие проблемы, как то перестала обновляться фонотека в телефоне, зависания, вылеты программ и т.п. В итоге меня всё это достало, и я начал искать замену. Брать другую модель нокии не желал в принципе &#8211; в нокии я разочаровался, и больше никогда не буду покупать их телефоны. Кроме нокии выбор был невелик &#8211; либо HTC на андроиде, либо iPhone.</p>
<p>Недавно купили отцу HTC Legend, и это стало последним толчком к покупке айФона. Да, андроид на HTC выглядит красиво, да, в андроид.маркете много приложений, но:</p>
<ul>
<li>Он тормозит (конечно, не так сильно, как нокия)</li>
<li>Приложения можно ставить только в память телефона, а у всех HTC её не так много, так что особо не разбежишься</li>
<li>Тупящий виджет погоды &#8211; то мы живём в посёлке Новые Мытищи (sic!), а другая комната у нас вообще в тайнинке</li>
<li>Надоедливая панель уведомлений вверху экрана, которая пишет уведомления просто для всего, что только можно. Перекинул 100 файлов по блютусу &#8211; получи 100 уведомлений. Наверно можно настроить, но я не стал заморачиваться.</li>
<li>Не знаю как там в Android 2.3, а вот в 2.2 на Legend хоть и есть мультизадачность, но вот у большинства приложений нет кнопочки &#8220;Закрыть&#8221;, и стандартного диспетчера задач тоже нету. Пришлось самому ставить диспетчер из маркета.</li>
<li>Полный бардак в маркете, точнее в приложениях &#8211; нет каких-либо общих правил оформления приложений. Одно может быть с Comic Sans, а другое с синим текстом поверх красного фона. Не критично, но глазу не приятно (к слову, в Symbian тоже присутствовала такая проблема, но там она ощущалась почему-то не так сильно).</li>
<li>Также отец жалуется на то, что звонок у телефона тихий, хотя громкость на максимуме. Не знаю, проблема ли это андроида в целом, телефонов HTC или конкретно данной модели, но проверять не захотелось.</li>
<li>И кстати сам факт того, что на Legend только недавно вышел Android 2.2 говорит о том, что HTC не торопится с выпуском обновлений для своих телефонов, и это большой минус</li>
</ul>
<p>В общем-то, проблемы высосаны из пальца, но они есть, и это не радует.</p>
<p>Итак, наконец-то перехожу к айФону. Купил его на прошлой неделе за 27900 рублей в интернет магазине, вернее даже просто у продавца с форума iphones.ru, торгующего аппаратами из Франции. К слову, сейчас цена уже 27400, а официальный РОСТЕСТ-айФон во всяких там Связных, И-ОНах, Евросетях и пр. стоит 31900. Так что по сути телефон у меня серый, но с гарантией в Apple Store на год. То, что телефон из Франции, никак не сказалось на качестве &#8211; телефон изначально поддерживает русский язык, не залочен под какого-либо из операторов, как, например, телефоны из Америки, т.е. не придётся ждать анлок и сидеть с iКирпичом &#8211; телефон работает с симками любого оператора, + коробка была запечатана.</p>
<p><img src="http://carbonjs.com/pics/phones-boxes.jpg" width="803" height="600" border="0" alt="" /></p>
<p><img src="http://carbonjs.com/pics/phones.jpg" width="800" height="640" border="0" alt="" /></p>
<p>iPhone 4 работает только с microsim, а моя симка оказалась слишком старой (МТС Джинс), и не поддавалась обрезанию до нужных размеров, поэтому проверить телефон при курьере не получилось (проверили только что он включается). В итоге весь день я просидел со своей старой симкой, и смог поменять её на microsim только вечером, ибо зарегистрирована моя симка на отца.</p>
<p>Итак, настал час Х: я воткнул новенькую симку и подключил телефон к компьютеру. После этого iTunes активировал мой айФон, и передо мной предстал рабочий стол iOS 4. После активации язык сам установился русским, часы и дата сами синхронизировались через интернет. Первым же делом я зарегистрировался в Apple App Store, ибо айФон из коробки &#8211; это просто телефон, такой же как нокия, как HTC и т.д. Зарегистрировавшись в App Store, я сразу скачал Яндекс.Карты, Яндекс.Метро, Яндекс.Электрички, Opera Mini, клиент для Твиттера и ещё парочку полезных бесплатных программ. Собственно, это всё. Всё, что было нормальным в App Store.</p>
<p>В App Store сейчас 350000+ приложений, из которых 95% &#8211; шлак. Большая часть приложений стоят деньги, а бесплатные &#8220;lite&#8221; версии этих программ &#8211; просто с кастрированным функционалом. Нормальных бесплатных игр там нет вообще, можете даже не искать. Даже пресловутая &#8220;Косынка&#8221; стоит 0.99$. В связи с эти встаёт вопрос: а как, собственно, эти приложения покупать?<br />Итак, есть 2 способа:</p>
<ul>
<li>Покупка с помощью банковской карточки Visa/Mastercard</li>
<li>Покупка через iTunes Gift Card</li>
</ul>
<p>В итоге, пластиковой карточки у меня нет, а Gift Card покупается знаете как? Правильно, через одно место! Да и разница в цене Gift Card и её номинальной стоимостью в этой стране слишком велика.</p>
<p>И тут на сцену выходит третий способ получения платных приложений и игр на свой айФон &#8211; Jailbreak.</p>
<p><img src="http://carbonjs.com/pics/darkside.jpg" width="450" height="304" border="0" alt="" />
</p>
<p>Не долго думая, я взломал свой айФон. Процедура проста, скачав на свой компьютер redsn0w, уже спустя 5 минут мой айФон был готов к установке приложений извне. Скачал через Cydia установщик Installous, и понеслась. Кроме возможности установки взломанных приложений, у Jailbreak есть ещё несколько преимуществ: установка различных твиков из Cydia, загрузка рингтонов длинною больше чем 30 секунд и открытие файловой системы. Из твиков я поставил уведомления о доставке сообщений (да, изначально даже этого в айФоне нет) и менеджер загрузок для Safari. Благодаря открытию файловой системы, теперь айФоном отчасти можно пользоваться как флешкой, а благодаря расширенной загрузке рингтонов, смог поставить на будильник нормальную мелодию из нокии ^_^.</p>
<p>Удивительно, но факт: я не нашел ни одной нормальной аськи для айФона, даже среди платных &#8211; либо нет/некорректно работает push, либо история не сохраняется, либо ещё чего&#8230;</p>
<p>Теперь по мелочам. Из плюсов:</p>
<ul>
<li>Плеер. АйФон содержит в себе функционал iPodа, и слушать музыку на нём действительно одно удовольствие. По сравнению с нокией, звук через те же bluetooth-наушники заметно лучше &#8211; меньше шумов.</li>
<li>Экран. В iPhone 4 установлен супер-дисплей Retina, качество картинки на котором просто супер, и это не шутка. Подобных экранов на телефонах я больше нигде не видел &#8211; экран очень чёткий, почти не блекнет на солнце и имеет большие углы обзора.</li>
<li>Приложения. В App Store есть чётко прописанные правила для оформления программ, поэтому приложения смотрятся на порядок качественнее, чем на Symbian и Android, нет ощущения &#8220;дешевки&#8221;.</li>
</ul>
<p>Есть и минусы:</p>
<ul>
<li>Антенна. Про неё уже все 100 раз писали. В наших обзорах почему-то пишут, что сбои в приёме сигнала есть только в режиме 3G &#8211; это ложь. 3G у меня отключен, и стоит замкнуть пальцем антенны в левом нижнем углу телефона, как буквально сразу же пропадает 1-2 полоски приёма. Пару раз сигнал у меня пропадал вообще, но, благо, довольно быстро восстанавливался. В общем, за это место лучше не держаться.</li>
<li>iTunes. Это что-то с чем-то. Ещё до того, как взломал телефон, закачал в него через iTunes порядка 1500 песен. После этого решил закачать рингтон (ещё только на 30 секунд) &#8211; в итоге где-то не поставил галочку, и при синхронизации вся музыка из телефона стёрлась, пришлось заливать заново (а это, между прочем, не быстро). Ещё айТюнсу не нравятся мои взломанные приложения из Installous, и при синхронизации он наровит их удалить, хотя в интернете пишут, что проблем с этим быть не должно. В общем теперь стараюсь лишний раз в iTunes не заходить, а пользуюсь iFunBox.</li>
</ul>
<p>Если закрыть глаза на эти недостатки, то в целом телефоном доволен. И надеюсь, что телефон прослужит мне как минимум пару лет.</p>
]]></content:encoded>
			<wfw:commentRss>http://author.carbonjs.com/100500-%d0%b9-%d0%be%d0%b1%d0%b7%d0%be%d1%80-iphone-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Обновление сайта</title>
		<link>http://carbonjs.com/%d1%81%d0%b0%d0%b9%d1%82/%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%b0%d0%b9%d1%82%d0%b0/</link>
		<comments>http://carbonjs.com/%d1%81%d0%b0%d0%b9%d1%82/%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%b0%d0%b9%d1%82%d0%b0/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 10:19:41 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Сайт]]></category>
		<category><![CDATA[дизайн]]></category>
		<category><![CDATA[документация]]></category>

		<guid isPermaLink="false">http://carbonjs.com/?p=166</guid>
		<description><![CDATA[К зиме планируется огромное обновление сайта:

На главной сайта вместо блога будет страница описания Карбона
Обновлённый дизайн
Блог будет перенесён в отдельный раздел (carbonjs.com/blog)
Обновлённое горизонтальное меню сайта вместо нынешней вертикальной гармошки
Расширенная документация, не только описание API
Структурированный раздел демок &#8211; теперь уже точно
Самое главное нововведение &#8211; сайт станет доступен не только на русском, но и на английском (кроме блога)

Разработка [...]]]></description>
			<content:encoded><![CDATA[<p>К зиме планируется огромное обновление сайта:</p>
<ul>
<li>На главной сайта вместо блога будет страница описания Карбона</li>
<li>Обновлённый дизайн</li>
<li>Блог будет перенесён в отдельный раздел (carbonjs.com/blog)</li>
<li>Обновлённое горизонтальное меню сайта вместо нынешней вертикальной гармошки</li>
<li>Расширенная документация, не только описание API</li>
<li>Структурированный раздел демок &#8211; теперь уже точно</li>
<li>Самое главное нововведение &#8211; сайт станет доступен не только на русском, но и на английском (кроме блога)</li>
</ul>
<p>Разработка не остановлена &#8211; все обновления выкладываются в нашем репозитории.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonjs.com/%d1%81%d0%b0%d0%b9%d1%82/%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%b0%d0%b9%d1%82%d0%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка продолжается!</title>
		<link>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%bf%d1%80%d0%be%d0%b4%d0%be%d0%bb%d0%b6%d0%b0%d0%b5%d1%82%d1%81%d1%8f/</link>
		<comments>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%bf%d1%80%d0%be%d0%b4%d0%be%d0%bb%d0%b6%d0%b0%d0%b5%d1%82%d1%81%d1%8f/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 16:23:19 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Разработка]]></category>
		<category><![CDATA[Carbon.JS]]></category>
		<category><![CDATA[ToDo]]></category>

		<guid isPermaLink="false">http://carbonjs.com/?p=163</guid>
		<description><![CDATA[Итак, после долгого бездействия, возобновляю работу над Карбоном!
За то время, что прошло с последнего релиза ядра версии 2.2.0, в нашем ToDo-листе скопилось приличное количество улучшений, которые я хотел бы внести в свою библиотеку, но никак не хватало времени. Теперь настали студенческие каникулы, а значит настала пора воплощать в жизнь все задуманные улучшения, а также, наконец, [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, после долгого бездействия, возобновляю работу над Карбоном!</p>
<p>За то время, что прошло с последнего релиза ядра версии 2.2.0, в нашем <a href="http://forum.carbonjs.com/viewtopic.php?f=9&#038;t=139">ToDo-листе</a> скопилось приличное количество улучшений, которые я хотел бы внести в свою библиотеку, но никак не хватало времени. Теперь настали студенческие каникулы, а значит настала пора воплощать в жизнь все задуманные улучшения, а также, наконец, сделать страницу демонстрации и убрать слово &#8220;beta&#8221; из логотипа Карбона. <img src='http://carbonjs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>К тому же, я собирался взяться за изучение стандарта html5, в том числе серьёзно изучить элемент &lt;canvas&gt;, а это значит, что возможно будет создан отдельный модуль Карбона для работы с этим элементом.</p>
<p>Следите за новостями сайта!</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%bf%d1%80%d0%be%d0%b4%d0%be%d0%bb%d0%b6%d0%b0%d0%b5%d1%82%d1%81%d1%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Обновлены все модули</title>
		<link>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d1%8b-%d0%b2%d1%81%d0%b5-%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d0%b8/</link>
		<comments>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d1%8b-%d0%b2%d1%81%d0%b5-%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d0%b8/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 17:16:26 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Разработка]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[sourceforge]]></category>
		<category><![CDATA[ToDo]]></category>
		<category><![CDATA[пора сваливать]]></category>
		<category><![CDATA[репозиторий]]></category>

		<guid isPermaLink="false">http://carbonjs.com/?p=157</guid>
		<description><![CDATA[Наконец-то дошли руки обновить все модули до новых имён файлов. На данный момент ядро имеет версию 2.2.0, а все остальные модули 1.1.0. К тому же, как я и обещал, осталось только 5 из 6 модулей &#8211; модуль UI я разбил на отдельные 3 файла-плагина. Пока что они доступны только из репозитория.
Кстати о репозитории. На данный [...]]]></description>
			<content:encoded><![CDATA[<p>Наконец-то дошли руки обновить все модули до новых имён файлов. На данный момент ядро имеет версию 2.2.0, а все остальные модули 1.1.0. К тому же, как я и обещал, осталось только 5 из 6 модулей &#8211; модуль UI я разбил на отдельные 3 файла-плагина. Пока что они доступны только из репозитория.</p>
<p>Кстати о репозитории. На данный момент я уже успел наплодить хранилищ на github.com, code.google.com и sourceforge.net. Сначала думал переехать на github, т.к. там будет располагаться ещё один проект, участником которого я являюсь &#8211; это движок форумов <a href="http://exbb.org/community/" target="_blank">ExBB</a>. Но из-за чрезмерной для меня сложности и нежелания разбираться в системе, от git пришлось отказаться.</p>
<p>На code.google.com я уже давно зарегистрировал хранилище, но из-за их жесткой структуры репозитория я просто не смог перенести туда свой проект (структура моего хранилища совсем иная), к тому же, там нет импорта истории изменений.</p>
<p>Пока что остановился на SourceForge, и уже даже закачал туда репозиторий (опять же, не понял как импортировать репозиторий с другого сервера), но нужно сидеть и разбираться.</p>
<p>Как бы то ни было, архивы для скачки обновлены.</p>
<p></p>
<p><strong>UPD.</strong> Остановился на google.code: разобрался с их структурой репозитория и оформил страничку <a href="http://code.google.com/p/carbonjs/">http://code.google.com/p/carbonjs/</a>. Ссылки на репозиторий на сайте обновлены.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d1%8b-%d0%b2%d1%81%d0%b5-%d0%bc%d0%be%d0%b4%d1%83%d0%bb%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carbon.JS Core 2.2.0, Utilities 1.1.0</title>
		<link>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-2-0-utilities-1-1-0/</link>
		<comments>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-2-0-utilities-1-1-0/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 11:09:45 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Разработка]]></category>
		<category><![CDATA[Core]]></category>
		<category><![CDATA[Core 2.2.x]]></category>
		<category><![CDATA[RC]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[Utilities]]></category>

		<guid isPermaLink="false">http://carbonjs.com/?p=153</guid>
		<description><![CDATA[Релиз-кандидаты модулей Core v2.2.0 и Utilities v1.1.0. Это первые два модуля с новыми шаблонами имён. Пока что доступны только из репозитория, т.к. несовместимы с именами других модулей.

Изменения Core 2.2.0 по сравнению с версией 2.1.8:

С этой версии изменяется формат имён модулей (carbon_js_core_compressed -> carbonjs.core.packed)
Закэшировал внутри ядра объект document &#8211; небольшой прирост скорости
Добавлена автоматическая очистка кэша селекторов [...]]]></description>
			<content:encoded><![CDATA[<p>Релиз-кандидаты модулей Core v2.2.0 и Utilities v1.1.0. Это первые два модуля с новыми шаблонами имён. Пока что доступны только из репозитория, т.к. несовместимы с именами других модулей.</p>
<p><span id="more-153"></span></p>
<p>Изменения Core 2.2.0 по сравнению с версией 2.1.8:</p>
<ul>
<li>С этой версии изменяется формат имён модулей (carbon_js_core_compressed -> carbonjs.core.packed)</li>
<li>Закэшировал внутри ядра объект document &#8211; небольшой прирост скорости</li>
<li>Добавлена автоматическая очистка кэша селекторов на события Mutation Events на тот случай, если вдруг работа с DOM происходит не средставами DOM-модуля</li>
<li>Переписана функция onDOMready() для поддержки множественных вызовов и правильного порядка исполнения переданных функций</li>
<li>Исправлен баг функции loadModules(), когда при подключении одного модуля не срабатывали исключения ошибок</li>
<li>Заменён алгоритм inArray на другой, более быстрый, к тому же в старом была проблема с поиском числа 0 в массиве (0 воспринимался как false, и цикл останавливался)</li>
<li>В функции forEach apply заменён на call для исправления странной ошибки в Opera 10.50 (DSK-284644)</li>
<li></li>
</ul>
<p>Последняя версия Utilities-модуля была выпущена почти год назад, 27 марта 2009, поэтому и изменений в версии 1.1.0 по сравнению с версией 1.0.2 много (включая все промежуточные ревизии):</p>
<ul>
<li>С этой версии изменяется формат имён модулей (carbon_js_utilities_compressed -> carbonjs.utilities.packed)</li>
<li>Изменён addEvent()</li>
<li>Убран лишний код из attr(), заменил get/setAttribute() на чтение и запись свойств</li>
<li>Добавлено соответствие float -> styleFloat в функцию css()</li>
<li>Удалена функция require()</li>
<li>Функция onDOMready() перенесена в ядро</li>
<li>Удалена функция onLoad()</li>
<li>Добавлены комментарии к коду</li>
<li>Переделан сборщик мусора для обработчиков событий</li>
<li>Переписана функция removeClass()</li>
<li>Переделаны функции x() и y() для работы с getBoundingClientRect()</li>
<li>Добавлены функции управления видимостью элементов:  show(), hide(), toggle()</li>
<li>Добавлены функции для работы с Cookies: setCookie(), getCookie(), removeCookie()</li>
</ul>
<p>Добавлена документация для новых функций (помечены как (RC)).</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-2-0-utilities-1-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Краткий обзор Opera 10.50 beta</title>
		<link>http://author.carbonjs.com/%d0%ba%d1%80%d0%b0%d1%82%d0%ba%d0%b8%d0%b9-%d0%be%d0%b1%d0%b7%d0%be%d1%80-opera-10-50-beta/</link>
		<comments>http://author.carbonjs.com/%d0%ba%d1%80%d0%b0%d1%82%d0%ba%d0%b8%d0%b9-%d0%be%d0%b1%d0%b7%d0%be%d1%80-opera-10-50-beta/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 13:30:55 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Блог разработчика]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[баги]]></category>
		<category><![CDATA[обзор]]></category>
		<category><![CDATA[облом]]></category>

		<guid isPermaLink="false">http://author.carbonjs.com/?p=144</guid>
		<description><![CDATA[Представляю вам свой краткий обзор новой Opera 10.50 beta.

Начну с наболевшего: менюшка на моём сайте так пока и не хочет работать в новой Opera  . А теперь самый прикол: запускаем Opera Dragonfly, перезагружаем страницу, и вуаля &#8211; менюшка работает! Закрываем Dragonfly &#8211; опять не работает! Я прям даже не знаю, что и думать&#8230; о_О [...]]]></description>
			<content:encoded><![CDATA[<p>Представляю вам свой краткий обзор новой Opera 10.50 beta.<br /><a href="http://carbonjs.com/pics/operalist.jpg" class="photos" title="Моя маленькая коллекция"><img src="http://carbonjs.com/pics/operalistthumb.jpg" width="246" height="250" border="0" alt="" /></a></p>
<p><span id="more-144"></span></p>
<p>Начну с наболевшего: менюшка на моём сайте так пока и не хочет работать в новой Opera <img src='http://carbonjs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . А теперь самый прикол: запускаем Opera Dragonfly, перезагружаем страницу, и вуаля &#8211; менюшка работает! Закрываем Dragonfly &#8211; опять не работает! Я прям даже не знаю, что и думать&#8230; о_О Ну да ладно, спишем это на новый ещё не до конца отлаженный движок Caracan.</p>
<p>Едем дальше. Заходим в наш любимый SlickSpeed. Первое, что бросается в глаза &#8211; отсутствуют стили у кнопки &#8220;Стоп&#8221;.<br />
<a href="http://carbonjs.com/pics/slickspeedinopera1050.jpg" class="photos" title="Баги..."><img src="http://carbonjs.com/pics/slickspeedinopera1050thumb.jpg" width="243" height="233" border="0" alt="" /></a><br />
Это меня очень сильно огорчило. Всё-таки это уже beta-версия, такие вещи, как мне кажется, должны исправляться ещё в alpha-версиях. Ещё один баг, видный на скриншоте &#8211; на момент снимка браузера он пытается что-то загрузить, хотя грузить уже нечего. Всё то время, пока я это пишу, он уже больше 10 минут пытается что-то загрузить на странице. После перезагрузки всё повторяется заново.</p>
<p>В итоге, после нескольких десятков нажатий на F5, страница всё-таки загрузилась. Нажимаем &#8220;Старт&#8221; и что мы видим? Явная регрессия движка по сравнению с предыдущей сборкой. Для сравнения, в версии 10.50-preAlpha (3218) время прохождения теста было следующим: Carbon &#8211; 1.435 мс., jQuery &#8211; 15.78 мс. Теперь Opera 10.50 beta: Carbon &#8211; ~1.7 мс., jQuery &#8211; ~18.3 мс. (запускал несколько раз, не считал среднее арифметическое, поэтому говорю приблизительную цифру).</p>
<p>Из явных плюсов данной версии для себя могу выделить лишь более проработанный внешний вид. Не сказать, что разочаровался в этой сборке, но могли бы и лучше. Надеюсь в финальной версии все эти недочёты будут устранены.</p>
<p><strong>UPD:</strong> сейчас заметил, что у кнопки &#8220;Стоп&#8221; в SlickSpeed то появляется оформление, то пропадает&#8230; Странный баг.</p>
]]></content:encoded>
			<wfw:commentRss>http://author.carbonjs.com/%d0%ba%d1%80%d0%b0%d1%82%d0%ba%d0%b8%d0%b9-%d0%be%d0%b1%d0%b7%d0%be%d1%80-opera-10-50-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carbon.JS Core 2.1.8</title>
		<link>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-1-8/</link>
		<comments>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-1-8/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 16:08:25 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Разработка]]></category>
		<category><![CDATA[Core]]></category>
		<category><![CDATA[Core 2.1.x]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[ToDo]]></category>

		<guid isPermaLink="false">http://carbonjs.com/?p=140</guid>
		<description><![CDATA[Сегодня выпускаю новую версию ядра 2.1.8. Релизом стала, как я и ожидал, вчерашняя сборка из репозитория. На данный момент, это самая лучшая версия ядра Карбона по соотношению скорость/стабильность.

Изменения по сравнению с версией 2.1.7:

Пофикшены проблемы с использованием псевдо-селекторов в :not() и :contains(), когда при использовании в них других псевдо-классов, например, div:not(:empty):nth-child(even), строка неправильно разбивалась на части, [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня выпускаю новую версию ядра 2.1.8. Релизом стала, как я и ожидал, вчерашняя сборка из <a href="http://svn.carbonjs.com/listing.php?repname=Carbon+JS">репозитория</a>. На данный момент, это самая лучшая версия ядра Карбона по соотношению скорость/стабильность.</p>
<p><span id="more-140"></span></p>
<p>Изменения по сравнению с версией 2.1.7:</p>
<ul>
<li>Пофикшены проблемы с использованием псевдо-селекторов в :not() и :contains(), когда при использовании в них других псевдо-классов, например, div:not(:empty):nth-child(even), строка неправильно разбивалась на части, из-за чего возвращались не те элементы</li>
<li>Добавил во внутреннюю функцию getByTagAndClass() поддержку свойства all для лучшей поддержки IE</li>
<li>Пофиксил баг в новом алгоритме :nth-child</li>
<li>Немного переделал алгоритм обработки псевдо-класса :empty</li>
<li>Пофиксил недочёт псевдо-класса :not</li>
<li>Переделан кэш: теперь вместе с конечными элементами записывается уникальный номер элемента, в котором производился поиск</li>
<li>Добавлена поддержка псевдо-класса :nth-last-child</li>
<li>Добавлена функция find() для поиска элементов в текущем наборе элементов</li>
<li>Полностью переделан алгоритм обработки комбинаторов</li>
</ul>
<p>Сравнение скорости работы по тесту SlickSpeed:</p>
<table width="100%" style="font-family: Verdana, sans-serif; font-size: 14px;">
<tr style="background-color: #333; color: #fff;">
<td width="25%">Браузер</td>
<td width="25%">Carbon.JS 2.1.7</td>
<td width="25%">Carbon.JS 2.1.8</td>
<td width="25%">jQuery 1.4</td>
</tr>
<tr>
<td style="background-color: #c30; color: #fff;" width="25%">Opera 9.27</td>
<td width="25%">8.404</td>
<td width="25%">7.215</td>
<td width="25%">164.736</td>
</tr>
<tr>
<td style="background-color: #c30; color: #fff;" width="25%">Opera 9.64</td>
<td width="25%">4.096</td>
<td width="25%">4.107</td>
<td width="25%">97.717</td>
</tr>
<tr>
<td style="background-color: #c30; color: #fff;" width="25%">Opera 10.1</td>
<td width="25%">3.344</td>
<td width="25%">3.386</td>
<td width="25%">22.724</td>
</tr>
<tr>
<td style="background-color: #c30; color: #fff;" width="25%">Opera 10.5a</td>
<td width="25%">1.365</td>
<td width="25%">1.435</td>
<td width="25%">15.780</td>
</tr>
<tr>
<td style="background-color: #f90; color: #fff;" width="25%">Firefox 2</td>
<td width="25%">306.737</td>
<td width="25%">9.295</td>
<td width="25%">250.235</td>
</tr>
<tr>
<td style="background-color: #f90; color: #fff;" width="25%">Firefox 3</td>
<td width="25%">104.038</td>
<td width="25%">3.433</td>
<td width="25%">83.708</td>
</tr>
<tr>
<td style="background-color: #f90; color: #fff;" width="25%">Firefox 3.5</td>
<td width="25%">2.196</td>
<td width="25%">1.984</td>
<td width="25%">29.819</td>
</tr>
<tr>
<td style="background-color: #f90; color: #fff;" width="25%">Firefox 3.6</td>
<td width="25%">1.856</td>
<td width="25%">1.734</td>
<td width="25%">26.197</td>
</tr>
<tr>
<td style="background-color: #0c3; color: #fff;" width="25%">Chrome 4</td>
<td width="25%">0.379</td>
<td width="25%">0.500</td>
<td width="25%">12.066</td>
</tr>
<tr>
<td style="background-color: #66c; color: #fff;" width="25%">Safari 4</td>
<td width="25%">0.829</td>
<td width="25%">0.930</td>
<td width="25%">12.406</td>
</tr>
<tr>
<td style="background-color: #39f; color: #fff;" width="25%">IE 8</td>
<td width="25%">110.151</td>
<td width="25%">10.996</td>
<td width="25%">180.315</td>
</tr>
</table>
<p>И если раньше я говорил, что jQuery быстрее работает в старых браузерах, хотя Carbon.JS обгонял и его, и Prototype в современных браузерах с поддержкой document.querySelectorAll(), то теперь я могу с уверенностью сказать: <strong>Carbon.JS Core работает быстрее всех остальных библиотек</strong> (ну да, кроме YASS, про который я уже писал) <strong>во всех браузерах! Ура, товарищи!</strong></p>
<p>Версия 2.1.8 будет скорее всего последней в ветке 2.1.x. На очереди будет новая ветка 2.2.x, в которой я надеюсь пересмотреть свою модульную систему, в частности хочу оставить всего 5 из 6 полноценных модулей, а модуль UI разбить на отдельные плагины.</p>
<p>Но это будет позже, а пока надо заняться другими модулями, за которые я не брался уже больше четырёх месяцев. Также начну, наконец, наполнять раздел демок.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-1-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carbon.JS Core 2.1.7</title>
		<link>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-1-7/</link>
		<comments>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-1-7/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 19:21:15 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Разработка]]></category>
		<category><![CDATA[Core]]></category>
		<category><![CDATA[Core 2.1.x]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[ToDo]]></category>

		<guid isPermaLink="false">http://carbonjs.com/?p=135</guid>
		<description><![CDATA[Релиз версии ядра 2.1.7. После написания предыдущей статьи про YASS я понял, что забыл протестировать те 7 селекторов, на которых заваливается YASS, на Карбоне в браузерах без нативной поддержки Selectors API (Firefox 2, Opera 9.23).

И с ужасом обнаружил, что Карбон не проходит вот эти 2 селектора:
* &#62; :nth-child(2n+1)
p:nth-child(even) &#62; a[href^=http]
После нескольких часов разбирательств в коде [...]]]></description>
			<content:encoded><![CDATA[<p>Релиз версии ядра 2.1.7. После написания предыдущей статьи про YASS я понял, что забыл протестировать те 7 селекторов, на которых заваливается YASS, на Карбоне в браузерах без нативной поддержки Selectors API (Firefox 2, Opera 9.23).</p>
<p><span id="more-135"></span></p>
<p>И с ужасом обнаружил, что Карбон не проходит вот эти 2 селектора:</p>
<pre><code class="css">* &gt; :nth-child(2n+1)</code></pre>
<pre><code class="css">p:nth-child(even) &gt; a[href^=http]</code></pre>
<p>После нескольких часов разбирательств в коде понял, что Карбон неправильно обрабатывал строку с селектором, если в той одновременно был какой-либо комбинатор (&gt;, +, ~) и псевдо-класс :nth-child(an+b), из-за чего мой алгоритм считал знак &#8220;+&#8221; в :nth-child() ещё одним комбинатором.</p>
<p>Ошибки были исправлены путём переписывания некоторых регулярных выражений, использующихся в ядре.</p>
<p>Кроме баг-фиксов, в новой версии полностью переписан алгоритм обработки того же :nth-child(), благодаря чему в старых браузерах он теперь обрабатывается даже быстрее, чем в jQuery!</p>
<p>На каникулах, возможно, выпущу версию 2.1.8, в которой надеюсь наконец избавиться от тормозов текущей реализации обработки комбинаторов (>100мс. в Firefox 2) и начну потихоньку обдумывать планы на следующую ветку версий 2.2.x.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonjs.com/%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/carbon-js-core-2-1-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YASS vs. All</title>
		<link>http://carbonjs.com/%d0%bf%d1%80%d0%b0%d0%ba%d1%82%d0%b8%d0%ba%d0%b0/yass-vs-all/</link>
		<comments>http://carbonjs.com/%d0%bf%d1%80%d0%b0%d0%ba%d1%82%d0%b8%d0%ba%d0%b0/yass-vs-all/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 10:26:58 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Практика]]></category>
		<category><![CDATA[SlickSpeed]]></category>
		<category><![CDATA[YASS]]></category>
		<category><![CDATA[облом]]></category>

		<guid isPermaLink="false">http://carbonjs.com/?p=120</guid>
		<description><![CDATA[Чуть больше года назад на Хабрахабре проскакивала статья про новый движок CSS-селекторов, который позиционировался как самый быстрый на планете.

YASS &#8211; Yet Another cSS selector (yass.webo.in)
Я следил за его развитием очень внимательно, чисто из практических соображений. Да, такие вещи, как кэширование селекторов и более быстрые внутренние циклы я позаимствовал именно оттуда. Проект достаточно быстро развивался, про [...]]]></description>
			<content:encoded><![CDATA[<p>Чуть больше года назад на Хабрахабре проскакивала статья про новый движок CSS-селекторов, который позиционировался как самый быстрый на планете.</p>
<p><span id="more-120"></span></p>
<p>YASS &#8211; Yet Another cSS selector (<a href="http://yass.webo.in">yass.webo.in</a>)</p>
<p>Я следил за его развитием очень внимательно, чисто из практических соображений. Да, такие вещи, как кэширование селекторов и более быстрые внутренние циклы я позаимствовал именно оттуда. Проект достаточно быстро развивался, про него было написано несколько статей. Разработка движка велась буквально в комментариях к этим статьям на Хабре.</p>
<p>Спустя какое-то время мой интерес к нему угас. Разработка вроде заморозилась, а я был занят развитием собственного движка селекторов.</p>
<p>И вот, я решил заглянуть на страницу разработчика чтобы посмотреть, какие новые успехи у YASS. И если честно, я был разочарован.</p>
<p>Начнём по порядку. Первое, что бросилось в глаза, это скудность типов поддерживаемых селекторов. С сайта разработчика:</p>
<blockquote><p>Поддерживаемые селекторы:<br />
для выбора класса (например, .example),<br />
для выбора узлов по имени тега: span или div,<br />
наследование (например, div p a),<br />
выбор дочерних элементов через >,<br />
выбор дочерних узлов первого уровня через ~,<br />
выбор первого дочернего узла с помощью +,<br />
выбор элементов по идентификатору #id,<br />
универсальный селектор — *,<br />
запросы к атрибутам:<br />
[type=checkbox] атрибуты с точным значением (class отработает по совпадению подстроки),<br />
[title] — существование атрибута у элемента,<br />
[rel~=nofollow] — наличие в атрибуте заданной строке в качестве значения, разделенного пробелами,<br />
[class^=block] — значение атрибута, начинающееся с заданного значения,<br />
[class$=hidden] — или заканчивающегося ею,<br />
[alt*=image] — соответствие подстроки значения атрибута заданной,<br />
[alt!=image] — отсутствие в атрибуте заданной строке в качестве значения, разделенного пробелами,<br />
позиции элементов относительно родителей: :first-child, :last-child,<br />
пустые элементы через селектор :empty,<br />
корневой элемент (HTML) через :root,<br />
выбранные элменты формы через псевдо-селектор :checked,<br />
позиция элемента в родительском элементе — :nth-child(3),<br />
выбор элементов по заданной позиции через :nth-child(even), :nth-child(odd), :nth-child(2n+1),<br />
псевдо-селетор языка :lang.</p>
<p>Неподдерживаемые селекторы:<br />
Некоторые селекторы пока еще не поддерживаются. Вполне возможно, что ситуация изменится с выходом новых версий YASS.<br />
отрицательный селектор :not(&#8230;),<br />
множественные селекторы [class=class1][class=class2].</p></blockquote>
<p>На первый взгляд всё нормально, хотя и видно, что не поддерживается :not(). Печально. Я скачал последнюю на данный момент версию библиотеки (версия 0.3.9 r179 от Nov 08, 2009) и запустил на локальном тесте SlickSpeed.</p>
<p>Первые впечатления: да, неплохо. Большая часть селекторов обрабатывается за 0.003 мс. Но чего стоит такая большая скорость работы? Кэширование? Быстрые циклы?</p>
<p>Нет. Это стоит того, что библиотека подгонялась под синтетические тесты. Стоит немного изменить селекторы, и всё, недобор элементов. YASS поддерживает очень ограниченные условия для :nth-child() &#8211; только число, &#8220;2n+1&#8243;, &#8220;2n&#8221;, &#8220;even&#8221; и &#8220;odd&#8221;. Позвольте, а где же, например &#8220;4n+2&#8243;, &#8220;-2n+1&#8243; и т.п.? Нету, и видимо не планируется.</p>
<p>Даю навскидку 7 селекторов, некорректно работающих в YASS и корректно работающих в других библиотеках, в том числе и в Carbon.JS (замечу, что по заявлениям разработчика все они должны обрабатываться корректно):</p>
<ul>
<li>* &gt; :nth-child(2n+1)</li>
<li>* &gt; * + * ~ *</li>
<li>p:nth-child(even) &gt; a[href^=http]</li>
<li>html &gt; body</li>
<li>ul &gt; li *</li>
<li>p:nth-child(1)</li>
<li>div div</li>
</ul>
<p><a href="http://carbonjs.com/pics/table1.jpg" title="Локальный тест SlickSpeed" class="photos"><img src="http://carbonjs.com/pics/table1thumb.jpg" alt="" width="611" height="147"></a></p>
<p>Вывод только один: скорость &#8211; не главное. Не стоит доверять одним только тестам, всегда нужно всё проверять на практике самому.</p>
]]></content:encoded>
			<wfw:commentRss>http://carbonjs.com/%d0%bf%d1%80%d0%b0%d0%ba%d1%82%d0%b8%d0%ba%d0%b0/yass-vs-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Мой старый сайт для МШП</title>
		<link>http://author.carbonjs.com/%d0%bc%d0%be%d0%b9-%d1%81%d1%82%d0%b0%d1%80%d1%8b%d0%b9-%d1%81%d0%b0%d0%b9%d1%82-%d0%b4%d0%bb%d1%8f-%d0%bc%d1%88%d0%bf/</link>
		<comments>http://author.carbonjs.com/%d0%bc%d0%be%d0%b9-%d1%81%d1%82%d0%b0%d1%80%d1%8b%d0%b9-%d1%81%d0%b0%d0%b9%d1%82-%d0%b4%d0%bb%d1%8f-%d0%bc%d1%88%d0%bf/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 18:22:16 +0000</pubDate>
		<dc:creator>Дмитрий Полюхов</dc:creator>
				<category><![CDATA[Блог разработчика]]></category>
		<category><![CDATA[дизайн]]></category>
		<category><![CDATA[ностальгия]]></category>

		<guid isPermaLink="false">http://carbonjs.com/?p=112</guid>
		<description><![CDATA[МШП &#8211; Мытищинская Школа Программистов. Когда я учился там на курсах Web-программирования, зачётной работой было создание собственного сайта.
Откопал этот сайт в анналах истории: http://www.informatics.ru/?page=page&#038;page_id=12 (самая верхняя строчка).
Помню, на проект накладывались жёсткие рамки: он должен был занимать не больше 200 кб. и должен был умещаться на экранах 800х600&#8230; Ещё у моего сайта была одна особенность &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>МШП &#8211; Мытищинская Школа Программистов. Когда я учился там на курсах Web-программирования, зачётной работой было создание собственного сайта.</p>
<p>Откопал этот сайт в анналах истории: <a href="http://www.informatics.ru/?page=page&#038;page_id=12" target="_blank">http://www.informatics.ru/?page=page&#038;page_id=12</a> (самая верхняя строчка).</p>
<p>Помню, на проект накладывались жёсткие рамки: он должен был занимать не больше 200 кб. и должен был умещаться на экранах 800х600&#8230; Ещё у моего сайта была одна особенность &#8211; он был единственный, кто проходил проверку валидатором, а также при его вёрстке я не использовал таблиц, что было в диковинку в те времена <img src='http://carbonjs.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://author.carbonjs.com/%d0%bc%d0%be%d0%b9-%d1%81%d1%82%d0%b0%d1%80%d1%8b%d0%b9-%d1%81%d0%b0%d0%b9%d1%82-%d0%b4%d0%bb%d1%8f-%d0%bc%d1%88%d0%bf/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

