<?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>mtvsn.ru</title>
	<atom:link href="http://www.mtvsn.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mtvsn.ru</link>
	<description>Personal blog by Artem Matevosyan</description>
	<lastBuildDate>Thu, 19 Aug 2010 20:05:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Custom fonts on a website without&#160;sIFR</title>
		<link>http://www.mtvsn.ru/2010/08/20/custom-fonts-on-a-website-without-sifr/</link>
		<comments>http://www.mtvsn.ru/2010/08/20/custom-fonts-on-a-website-without-sifr/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 20:03:43 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/?p=203</guid>
		<description><![CDATA[Some time ago I discovered a cool way to include a custom font in a website without using sIFR. The point is you create font files in different formats for different browsers and add them to a page with a &#8220;@font-face&#8221; directive in a CSS file. At last I found time for testing and can [...]]]></description>
			<content:encoded><![CDATA[<p style="font-size: 19.5px; line-height: 28.5px;">Some time ago I discovered a cool way to include a custom font in a website without using sIFR. The point is you create font files in different formats for different browsers and add them to a page with a &#8220;@font-face&#8221; directive in a CSS file. At last I found time for testing and can confirm the solution works.</p>
<p style="font-size: 19.5px; line-height: 28.5px;">The only thing you need is to go to the great <a href="http://www.fontsquirrel.com/fontface/generator" target="_blank">Font Squirrel @font-face Generator</a>, upload your legaly purchased fonts and download the working example including CSS and HTML files, and your font(s) in 4 formats needed for the solution to work properly in every browser.</p>
<p style="font-size: 19.5px; line-height: 28.5px;">And by the way, you can build your font into the CSS file with the  data-feature of url() function. The font will be encoded with Base64.  This option is also provided by the generator.</p>
<p style="font-size: 19.5px; line-height: 28.5px;">At the moment I check it only in IE6, FF3 (Mac) and Safari 5. As soon I&#8217;ll get to my Windows machine, I&#8217;ll test it on IE8, FF3 (Windows) and Chrome. Fingers crossed! I love this solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2010/08/20/custom-fonts-on-a-website-without-sifr/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Practicing german&#160;numbers</title>
		<link>http://www.mtvsn.ru/2010/08/01/practicing-german-numbers/</link>
		<comments>http://www.mtvsn.ru/2010/08/01/practicing-german-numbers/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 08:45:00 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Deutsch]]></category>
		<category><![CDATA[Everyday]]></category>
		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/?p=173</guid>
		<description><![CDATA[Now I got another evidence that tools play a huge role when it comes to learning languages. Maybe sometime I will tell how I use my phone and how it helps me. Now I want to talk about the german numbers. As you may know :) german numbers are spoken in a slightly different to [...]]]></description>
			<content:encoded><![CDATA[<p>Now I got another evidence that tools play a huge role when it comes to learning languages. Maybe sometime I will tell how I use my phone and how it helps me. Now I want to talk about the german numbers. As you may know :) german numbers are spoken in a slightly different to e.g. Russian and English way. If one needs to say a number with 2 digits, he needs to say first the second digit and after that the first one. For example you have number 25, so you say &#8220;five and twenty&#8221; (fünfundzwanzig) in German. Eh..</p>
<p>So I&#8217;m trying to get used to it in a regular way (by reading and speaking, and listening). Can&#8217;t say this works pretty good. So I figured out how to make my Mac to dictate the numbers for me. So Mac dictades me numbers and I write them down. I call it practicing geman numbers.</p>
<p style="text-align: center;"><a href="http://www.mtvsn.ru/2010/08/01/practicing-german-numbers/ "><img class="aligncenter size-full wp-image-201" title="AlumiMacbook" src="http://www.mtvsn.ru/wp-content/uploads/2010/08/AlumiMacbook3.jpg" alt="" width="680" height="319" /></a></p>
<p><span id="more-173"></span>MacOS has a pretty good built in voices, but they read only English. So I found reading-aloud-application, it&#8217;s name is GhostReader. And with a couple of german voices I installed it produces sound of pretty good qualty. <a href="http://www.mtvsn.ru/numbers/" target="_blank">So I wrote a small app</a> in JavaScript, for now only Safari is supported (or any other browser with support of HTML5 and CSS3) as I was too lasy to Design it, slice it and layout it, so, please, die dear Internet Explorer.</p>
<p>That app can generate number lists based on settings of range you need, number of digits in a number, how many numbers you need, to you need it shuffled and some other. So you can request randomly shuffled 100 numbers of 2 or less digits in them from 0 to 100. This is my current challenge :) Or you can request a random list of 5-digits numbers form say 50.000 to 60.000, which is quite impossible for me at the moment.</p>
<p>For some reason I&#8217;m always confused about 6 and 8, so I made a preset (tabs at the top) of settings for creating a list of numbers only wit 6 and 8 in them. Yeah, there is a regular expressions filter.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-192" title="settings" src="http://www.mtvsn.ru/wp-content/uploads/2010/08/settings.jpg" alt="" width="680" height="233" /></p>
<p>In addition to advanced numer generation functionality, it comes also very handy to specify the pause between numbers. GhostReader has special tags to set a pause anywhere in the text in miliseconds. So the normal value for me for 2-digits numbers is 1200 ms, and for 3-digits numbers it counts 3000 ms. Can you imagine that? I mean, I think for 3 seconds, what number I just heared. Crazy. Native German speaker will probably never understand that :)</p>
<p>And I also attached here a couple of examples of what it sounds like. Feel free to check it out :</p>
<ul>
<li><a href="http://www.mtvsn.ru/wp-content/uploads/2010/08/Random-0-100-_-1200ms.mp3">Random numbers from 0 to 99 (1200ms)</a></li>
<li><a href="http://www.mtvsn.ru/wp-content/uploads/2010/08/Random-100-999-_-3000ms-_-No-_0_-numbers.mp3">Random numbers from 100 to 999 (3000ms)</a> without using any &#8220;zero-numbers&#8221; like 403 or 210, to make it more interesting :)</li>
<li>And of course <a href="http://www.mtvsn.ru/wp-content/uploads/2010/08/Numbers-10.000-99.999-_-4500ms.mp3">random numbers from 10.000 to 99.999 (4500ms)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2010/08/01/practicing-german-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.mtvsn.ru/wp-content/uploads/2010/08/Random-0-100-_-1200ms.mp3" length="2502346" type="audio/mpeg" />
<enclosure url="http://www.mtvsn.ru/wp-content/uploads/2010/08/Random-100-999-_-3000ms-_-No-_0_-numbers.mp3" length="5507596" type="audio/mpeg" />
<enclosure url="http://www.mtvsn.ru/wp-content/uploads/2010/08/Numbers-10.000-99.999-_-4500ms.mp3" length="8488053" type="audio/mpeg" />
		</item>
		<item>
		<title>Коньюнктив</title>
		<link>http://www.mtvsn.ru/2010/06/02/konyunktiv/</link>
		<comments>http://www.mtvsn.ru/2010/06/02/konyunktiv/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 07:14:05 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Deutsch]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/?p=143</guid>
		<description><![CDATA[Сегодня утром у меня наступило озарение по поводу коньюктива  (сослагательного наклонения) в немецком языке. Там же их две штуки:  коньюнктив I и коньюнктив II. Так вот что такое коньюьнктив II было  понятно сразу:
­— Es wäre nicht schlecht…
(Было бы неплохо…)
Тут используется глагол “быть” (sein) в прошедшем времени (war) в  немного измененной форме. [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня утром у меня наступило озарение по поводу коньюктива  (сослагательного наклонения) в немецком языке. Там же их две штуки:  коньюнктив I и коньюнктив II. Так вот что такое коньюьнктив II было  понятно сразу:</p>
<p>­— Es wäre nicht schlecht…<br />
(Было бы неплохо…)</p>
<p>Тут используется глагол “быть” (sein) в прошедшем времени (war) в  немного измененной форме. А для коньюнктива I в этом случае может быть  использована форма</p>
<p>— Sei es alles in Ordnung, würde er zurückrufen</p>
<p>И вот только сегодня я понял, что это sei — это повелительное  наклонение (будь). То есть на русский это переводится так:</p>
<p>— Будь все в порядке, он бы перезвонил</p>
<p>Достижение, конечно, микроскопическое, но тем не менее.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2010/06/02/konyunktiv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life.</title>
		<link>http://www.mtvsn.ru/2010/03/17/life/</link>
		<comments>http://www.mtvsn.ru/2010/03/17/life/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 17:07:16 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pictures]]></category>
		<category><![CDATA[Trash]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/?p=141</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://htmlgiant.com/wp-content/uploads/2010/03/NORMAL-500x346.jpg" alt="" width="500" height="346" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2010/03/17/life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computer&#160;Evolution</title>
		<link>http://www.mtvsn.ru/2010/01/05/computer-evolution/</link>
		<comments>http://www.mtvsn.ru/2010/01/05/computer-evolution/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 07:14:19 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pictures]]></category>
		<category><![CDATA[Trash]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/2010/01/05/computer-evolution/</guid>
		<description><![CDATA[
Source
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mtvsn.ru/wp-content/uploads/2010/01/media_http18mediatumb_FEImj.jpg.scaled500.jpg"><img class="aligncenter size-full wp-image-135" title="media_http18mediatumb_FEImj.jpg.scaled500" src="http://www.mtvsn.ru/wp-content/uploads/2010/01/media_http18mediatumb_FEImj.jpg.scaled500.jpg" alt="" width="493" height="700" /></a></p>
<p><a href="http://habrahabr.ru/blogs/design/79958/">Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2010/01/05/computer-evolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Marie aus&#160;Paris</title>
		<link>http://www.mtvsn.ru/2010/01/05/marie-aus-paris/</link>
		<comments>http://www.mtvsn.ru/2010/01/05/marie-aus-paris/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 05:34:43 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Deutsch]]></category>
		<category><![CDATA[Everyday]]></category>
		<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/?p=124</guid>
		<description><![CDATA[Нашел тут интересный RSS на немецком — телефонные розыгрыши от радио FFH. Звонит девушка с французским акцентом и южно-немецким произношением сообщает:
— Hallo! Hier ist Marie aus Paris. Entshuldigung, ich spreche nicht sehr gut Deutschland&#8230;
(— Здравствуйте! Извините, я не очень хорошо говорю Германия&#8230;)

На что ей все и всегда отвечают &#8220;Да&#8221;, в смысле &#8220;ничего страшного, слушаю&#8221;. Далее [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://www.ffh.de/images_teaser/hauptteaser_marie_aus_paris.jpg" alt="" width="317" height="212" />Нашел тут интересный RSS на немецком — <a href="http://ffh-marie-aus-paris.feedplace.de/rss" target="_blank">телефонные розыгрыши</a> от радио FFH. Звонит девушка с французским акцентом и южно-немецким произношением сообщает:</p>
<p>— Hallo! Hier ist Marie aus Paris. Entshuldigung, ich spreche nicht sehr gut Deutschland&#8230;<br />
(— Здравствуйте! Извините, я не очень хорошо говорю Германия&#8230;)</p>
<p><span id="more-124"></span></p>
<p><img title="Далее..." src="http://www.mtvsn.ru/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" />На что ей <strong>все</strong> и <strong>всегда </strong>отвечают &#8220;Да&#8221;, в смысле &#8220;ничего страшного, слушаю&#8221;. Далее она начинает объяснять какую-то проблему, ей стараются помочь ее решить, но в результате выясняется, что Мари все неправильно поняла, проблема совсем не в этом. Например, она пыталась купить вилку в магазине посуды. Оказалось, что речь идет о вилке от переднего колеса велосипеда.</p>
<p>Далее якобы ее друг попросил &#8220;позаботиться&#8221; (решить проблему) с Silberfische у них в ванной. Silber &#8211; серебро, Fisch &#8211; рыба. С этим она звонит в зоомагазин, где ей объясняют, что Silberfische  это не серебряные рыбки, а насекомые такие маленькие безобидные. &#8220;А Goldenfische тоже насекомые по-немецки?&#8221; — спрашивает она.</p>
<p>Еще история. Звонит в ремонтную контору и просит поговорить с маляром. Долго обсуждает с ним задачу перекраски стен в кабинете на работе. Выясняется, что ее шеф передал ей письмо со словами &#8220;Wir müssen Ihre stelle streichen&#8221;. Она понимает, что  Stelle это место, а streichen в одном из значений это &#8220;красить&#8221;. Фишка в том, что есть еще одно значение &#8220;вычеркивать&#8221;, а вся фраза означает &#8220;мы должны Вас уволить&#8221;. Маляр это и доводит до ее сведения. Интересно, что дальше он чуть не предлагает к ей придти работать к ним, но сотрудников они не набирают, поэтому он готов замолвить за нее словечко и вообще оказать посильную поддержку.</p>
<p>Вот это самое интересное с моей точки зрения. Они все сначала пытаются въехать в твою проблему, какая бы бредовая она ни была и приступают к поиску решения.</p>
<p>Это иллюстрирует история с пиццей. Мари хочет заказать 5 пицц. Дело в том, что она с коллегами находится на 6 этаже, но доступ по лестнице и лифты каким-то макаром оказались заблокированы. Зато на улице перед домом идет парад и можно поднять пиццы на шариках. Двух шариков на пиццу должно хватить по ее подсчетам. У нас бы давно предложили провериться у психиатра, а эти ребята внимательно все выслушали и стали задавать вопросы по технической реализации данного решения :) Типа там же ветер, вообще-то, улетит пицца-то. Мол, как вы нам денюжку передавать будете? Мари говорит: на самолетике бумажном. Короче, — говорят они, — давайте адрес, приедем разберемся. То есть понятно, что шарики это бред полный, но ей об этом никто не сказал, и никуда не послал.</p>
<p>Веселая история про самолет.</p>
<p>— Аэропорт, добрый день.<br />
— Здравствуйте, я Мари из Парижа, я не очень хорошо говорю по-немецки&#8230;<br />
— Да<br />
— Вы должны срочно остановить самолет!<br />
— Я соединю вас с диспетчерткой.<br />
— Диспетчерская, добрый день.<br />
— Здравствуйте, меня зовут Мари из Парижа. Нужно немедленно остановить самолет, только что вылетевший в Торонто. В нем мой дедушка.<br />
— Что случилось?<br />
— Он по недосмотру схватил мой листок!<br />
— Вы знаете сколько стоит вернуть самолет? Он уже в воздухе! Мы могли бы послать сообщение на борт&#8230;<br />
— Нет-нет, дедушка в прекрасной форме. Так развернуть самолет не получится?<br />
— К сожалению нет.<br />
— Никаких шансов?<br />
— Совершенно невозможно. Вы говорите, речь идет о&#8230; листке&#8230;<br />
— Да, он забрал мой список покупок! Я помню там были яйца, хлеб, молоко вот то ли 1,5% жирности, то ли 3%.<br />
— (смеется) Я бы взял менее жирное молоко, оно более здоровое.<br />
— Спасибо! Так я и сделаю! Это была Мари аус Пари, а вы сейчас на радио FFH!</p>
<p>И вот еще одна чумовая история про тест-драйв. Мари звонит в авто-салон, представляется как обычно.</p>
<p>— Можно прокатиться на тест-драйве Ситроен Пикассо?<br />
— Да, пожалуйста, можете подъезжать.<br />
— Скажите, а можно ли во время тест-драйва пользоваться багажником и задними сиденьями?<br />
— Разумеется.<br />
— А можно на этой машине перевозить тяжелые вещи?<br />
— Конечно, можно.<br />
— А во время тест-драйва?<br />
— (с сомнением) Да.<br />
— Супер! Мьсе, тогда не могли бы взять с собой перчатки?<br />
— Перчатки?<br />
— Да, я просто переезжаю, я хотела бы перевезти кое-какие вещи.<br />
— (смеется) Почему вы не воспользуетесь личным транспортом?<br />
— У меня Рено, мне его жалко&#8230;<br />
— (смеется) Я бы рекомендовал в этом случае воспользоваться услугами транспортной компании&#8230;<br />
— Скажите, а есть в этой машине радио? А то вы теперь на радио FFH, поздравляю!</p>
<p>На что только они ни соглашаются: и друзей каких-то искать, и сообщения передавать, и разжевывают все до тех пор, пока не дойдет, а если отказывают, то как-то очень вежливо и аккуратно и обязательно альтернативный вариант предлагают. Вот такой добрый и отзывчивый народ.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2010/01/05/marie-aus-paris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Рекурсия</title>
		<link>http://www.mtvsn.ru/2009/12/29/rekursiya/</link>
		<comments>http://www.mtvsn.ru/2009/12/29/rekursiya/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 20:14:03 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Trash]]></category>
		<category><![CDATA[Webdev]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/2009/12/29/rekursiya/</guid>
		<description><![CDATA[— А давай вот так?
— А зачем?
— Да не зачем, просто чтоб было.
— Будет отстой&#8230; Ну давай покажу
— Действительно, отстой. А если вот так?
— Тоже отстой будет. Смотри!
(повторяем последние две строчки, пока не надоест)
]]></description>
			<content:encoded><![CDATA[<p>— А давай вот так?<br />
— А зачем?<br />
— Да не зачем, просто чтоб было.<br />
— Будет отстой&#8230; Ну давай покажу<br />
— Действительно, отстой. А если вот так?<br />
— Тоже отстой будет. Смотри!<br />
(повторяем последние две строчки, пока не надоест)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2009/12/29/rekursiya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3, SSL, nginx, fastcgi. Смешайте все в одно&#160;ведро.</title>
		<link>http://www.mtvsn.ru/2009/10/22/typo3-ssl-nginx-fastcgi/</link>
		<comments>http://www.mtvsn.ru/2009/10/22/typo3-ssl-nginx-fastcgi/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 18:11:07 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/?p=90</guid>
		<description><![CDATA[TYPO3 нехорошо поступает с Frontend пользователями — хранит пароли в открытом виде в базе данных. Да, есть расширения, позволяющие их шифровать, но их использование влечет за собой траблы с модулями регистрации, логина, бекенда и прочего. Я согласен, что зашивать в ядро шифрование жестко нельзя, но я убежден в том, что такая возможность в ядре должна [...]]]></description>
			<content:encoded><![CDATA[<p>TYPO3 нехорошо поступает с Frontend пользователями — хранит пароли в открытом виде в базе данных. Да, есть расширения, позволяющие их шифровать, но их использование влечет за собой траблы с модулями регистрации, логина, бекенда и прочего. Я согласен, что зашивать в ядро шифрование жестко нельзя, но я убежден в том, что такая возможность в ядре должна быть. И должен быть механизм тихой и незаметной работы с паролями для расширений как в режиме шифрования, так и без него. Этот вопрос, насколько я знаю, решается для TYPO3 5.</p>
<p><span id="more-90"></span>На данном этапе я принял решение использовать открытые пароли для FE-пользователей в сочетании с SSL для бэкенда и страниц, где приватные данные могут передаваться клиенту. Для этого должны выполняться некоторые технические требования.</p>
<p>1. На уровне nginx должна быть включена поддержка SSL. Включается она параметром <code>--with-http_ssl_module</code> при компиляции. Узнать, есть у вашей сборки nginx поддержка SSL можно так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>nginx <span style="color: #660033;">-V</span></pre></div></div>

<p>2. Нужно создать и подписать сертификат SSL. Я генерил сертификат на маке, поэтому пользовался соответствующим <a href="http://www.macosxhints.com/article.php?story=20041129143420344" target="_blank">мануалом</a>. В интернете лежат автоматические генераторы, я их не пробовал.</p>
<p>3. Теперь нужно, чтобы при использовании SSL nginx передавал в fastcgi параметр, указывающий на это. В PHP он доступен по <code>$_SERVER["HTTPS"] = 'on'</code>. Добавляем в конфигурационный файл нужного виртуального хоста копию текущей конфигурации, а в секцию server добавляем информацию для активации SSL.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server <span style="color: #7a0874; font-weight: bold;">&#123;</span>
    listen  <span style="color: #000000;">443</span>;
    server_name  www.domain.ru;
&nbsp;
    ssl                  on;
    ssl_certificate      ssl<span style="color: #000000; font-weight: bold;">/</span>cert.pem;
    ssl_certificate_key  ssl<span style="color: #000000; font-weight: bold;">/</span>webserver.nopass.key;
    ssl_session_timeout  5m;
    ssl_protocols  SSLv2 SSLv3 TLSv1;
    ssl_ciphers  ALL:<span style="color: #000000; font-weight: bold;">!</span>ADH:<span style="color: #000000; font-weight: bold;">!</span>EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers   on;
&nbsp;
    access_log  <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>domain.ru<span style="color: #000000; font-weight: bold;">/</span>logs<span style="color: #000000; font-weight: bold;">/</span>access.log  main;
    error_log  <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>domain.ru<span style="color: #000000; font-weight: bold;">/</span>logs<span style="color: #000000; font-weight: bold;">/</span>error.log;
&nbsp;
    location <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
        root   <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>domain.ru<span style="color: #000000; font-weight: bold;">/</span>htdocs;
        index  index.php index.html index.htm;
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">!</span>-e <span style="color: #007800;">$request_filename</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
                rewrite ^<span style="color: #7a0874; font-weight: bold;">&#40;</span>.<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>$ <span style="color: #000000; font-weight: bold;">/</span>index.php <span style="color: #c20cb9; font-weight: bold;">last</span>;
        <span style="color: #7a0874; font-weight: bold;">&#125;</span>
    <span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;"># FCGI</span>
    location ~ \.php$ <span style="color: #7a0874; font-weight: bold;">&#123;</span>
        root           <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>domain.ru<span style="color: #000000; font-weight: bold;">/</span>htdocs;
        fastcgi_pass_request_body off;
        client_body_in_file_only clean;
        client_body_temp_path <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>shm<span style="color: #000000; font-weight: bold;">/</span>client_body_temp;
        fastcgi_param  REQUEST_BODY_FILE  <span style="color: #007800;">$request_body_file</span>;
        fastcgi_pass   unix:<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>php.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>domain.ru<span style="color: #000000; font-weight: bold;">/</span>htdocs<span style="color: #007800;">$fastcgi_script_name</span>;
        include        fastcgi_params;
        fastcgi_param  HTTPS    on;
    <span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
    location ~ <span style="color: #000000; font-weight: bold;">/</span>\.ht <span style="color: #7a0874; font-weight: bold;">&#123;</span>
        deny  all;
    <span style="color: #7a0874; font-weight: bold;">&#125;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>4. Теперь нам нужно научить TYPO3 переключаться в режим защищенного соединения. Для бэкенда это делается параметром <code>$TYPO3_CONF_VARS['BE']['lockSSL'] = '2';</code>, который говорит Тайпе, что в бекенд нужно пускать только по SSL, и редиректить если был запрос без него.</p>
<div class="wp-caption aligncenter" style="width: 334px"><img title="SSL" src="http://www.mtvsn.ru/wp-content/uploads/2009/10/Снимок-экрана-1.jpg" alt="SSL" width="324" height="33" /><p class="wp-caption-text">Теперь это выглядит как-то вот так примерно</p></div>
<p>5. Для фронтенда я воспользовался расширением https. В редакторе констант нужно подправить название домена сайта и все. После установки на нужных страницах галочки &#8220;только SSL&#8221; будут передаваться только по защищенному каналу.</p>
<p><strong>UPD</strong></p>
<p>Я посмотрел один <a href="http://segment7.net/projects/ruby/QuickCert/" target="_blank">автогенератор сертификатов на Руби</a>. Он не генерирует беспарольный ключ для старта сервера, а в остальном вроде нормально работает.<strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2009/10/22/typo3-ssl-nginx-fastcgi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Меню с количеством записей в каждой&#160;ветви</title>
		<link>http://www.mtvsn.ru/2009/10/06/menyu-s-kolichestvom-zapisej-v-kazhdoj-vetvi/</link>
		<comments>http://www.mtvsn.ru/2009/10/06/menyu-s-kolichestvom-zapisej-v-kazhdoj-vetvi/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 14:20:55 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/?p=75</guid>
		<description><![CDATA[Как можно догадаться из названия блога, речь пойдет о сайте на TYPO3.
Задача такая. Имеется сайт на TYPO3 с интернет-магазином. В разделе каталога товаров на каждой странице находится некоторое количество записей товаров. Требуется изобразить на сайте меню разделов с добавлением количества записей к каждому пункту. В результате должно получиться что-то вроде следующего:

Компьютеры (12 товаров)
Мониторы (23 товара)

В [...]]]></description>
			<content:encoded><![CDATA[<p>Как можно догадаться из названия блога, речь пойдет о сайте на TYPO3.</p>
<p>Задача такая. Имеется сайт на TYPO3 с интернет-магазином. В разделе каталога товаров на каждой странице находится некоторое количество записей товаров. Требуется изобразить на сайте меню разделов с добавлением количества записей к каждому пункту. В результате должно получиться что-то вроде следующего:</p>
<ul>
<li>Компьютеры (12 товаров)</li>
<li>Мониторы (23 товара)</li>
</ul>
<p><span id="more-75"></span>В нашем случае таблица товаров носит название &#8220;tx_mgpstore_items&#8221;. Мы будем использовать postCObject для каждого элемента меню. Каждый postCObject будет использовать stdWrap.numRows  для подсчета рядов, а для получения правильного списка страниц-родителей для выборки numRows мы будем использовать еще одно HMENU.</p>

<div class="wp_syntax"><div class="code"><pre class="typoscript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">lib</span><span style="color: #339933; font-weight: bold;">.</span>topMenu <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">HMENU</span>
<span style="color: #000066; font-weight: bold;">lib</span><span style="color: #339933; font-weight: bold;">.</span>topMenu <span style="color: #009900;">&#123;</span>
  special <span style="color: #339933; font-weight: bold;">=</span> list
  special<span style="color: #339933; font-weight: bold;">.</span>value <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">7</span>,<span style="color: #cc0000;">36</span>,<span style="color: #cc0000;">35</span>,<span style="color: #cc0000;">34</span>,<span style="color: #cc0000;">33</span>
  <span style="color: #cc0000;">1</span> <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">TMENU</span>
  <span style="color: #cc0000;">1</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000; font-weight: bold;">NO</span> <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
    <span style="color: #990000; font-weight: bold;">NO</span> <span style="color: #009900;">&#123;</span>
      <span style="font-weight: bold;">stdWrap</span><span style="color: #339933; font-weight: bold;">.</span>postCObject <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">TEXT</span>
      <span style="font-weight: bold;">stdWrap</span><span style="color: #339933; font-weight: bold;">.</span>postCObject <span style="color: #009900;">&#123;</span>
        <span style="font-weight: bold;">numRows</span><span style="color: #339933; font-weight: bold;">.</span>table <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #000066; font-weight: bold;">tx_mgpstore_items</span>
        <span style="font-weight: bold;">numRows</span><span style="color: #339933; font-weight: bold;">.</span><span style="font-weight: bold;">select</span> <span style="color: #009900;">&#123;</span>
          pidInList<span style="color: #339933; font-weight: bold;">.</span>cObject <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">HMENU</span>
          pidInList<span style="color: #339933; font-weight: bold;">.</span>cObject <span style="color: #009900;">&#123;</span>
            <span style="font-weight: bold;">stdWrap</span><span style="color: #339933; font-weight: bold;">.</span>prepend <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">TEXT</span>
            <span style="font-weight: bold;">stdWrap</span><span style="color: #339933; font-weight: bold;">.</span>prepend<span style="color: #339933; font-weight: bold;">.</span>field <span style="color: #339933; font-weight: bold;">=</span> uid
            special <span style="color: #339933; font-weight: bold;">=</span> directory
            special<span style="color: #339933; font-weight: bold;">.</span>value<span style="color: #339933; font-weight: bold;">.</span>field <span style="color: #339933; font-weight: bold;">=</span> uid
            <span style="color: #cc0000;">1</span> <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #990000; font-weight: bold;">TMENU</span>
            1<span style="color: #339933; font-weight: bold;">.</span>expAll <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
            1<span style="color: #339933; font-weight: bold;">.</span><span style="color: #990000; font-weight: bold;">NO</span> <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
            1<span style="color: #339933; font-weight: bold;">.</span><span style="color: #990000; font-weight: bold;">NO</span> <span style="color: #009900;">&#123;</span>
              doNotLinkIt <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #cc0000;">1</span>
              <span style="font-weight: bold;">stdWrap</span><span style="color: #339933; font-weight: bold;">.</span>field <span style="color: #339933; font-weight: bold;">=</span> uid
              <span style="font-weight: bold;">stdWrap</span><span style="color: #339933; font-weight: bold;">.</span>wrap <span style="color: #339933; font-weight: bold;">=</span> ,<span style="color: #339933; font-weight: bold;">|</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #cc0000;">2</span> &amp;lt; <span style="color: #339933; font-weight: bold;">.</span>1
            <span style="color: #cc0000;">3</span> &amp;lt; <span style="color: #339933; font-weight: bold;">.</span>1
            <span style="color: #cc0000;">4</span> &amp;lt; <span style="color: #339933; font-weight: bold;">.</span>1
          <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        innerWrap <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #339933; font-weight: bold;">|</span><span style="color: #009900;">&#41;</span>
        preUserFunc <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #000066; font-weight: bold;">tx_drivecart_counter</span>-&amp;gt;itemWord
        preUserFunc<span style="color: #339933; font-weight: bold;">.</span>words<span style="color: #339933; font-weight: bold;">.</span>item <span style="color: #339933; font-weight: bold;">=</span> товар<span style="color: #339933; font-weight: bold;">|</span>товара<span style="color: #339933; font-weight: bold;">|</span>товаров
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Для правильного окончания слова &#8220;товар&#8221; я использовал специальную функцию модуля Drivecart. В моей базе знаний она присутствует и как отдельно стоящая. С помощью нехитрой настройки можно добиться правильного отображения окончаний слов после числительных. О ней я расскажу в другой раз.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2009/10/06/menyu-s-kolichestvom-zapisej-v-kazhdoj-vetvi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как вырезать картинку из фона&#160;(правильно)</title>
		<link>http://www.mtvsn.ru/2009/07/23/kak-vyrezat-kartinku-iz-fona-pravilno/</link>
		<comments>http://www.mtvsn.ru/2009/07/23/kak-vyrezat-kartinku-iz-fona-pravilno/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 07:01:58 +0000</pubDate>
		<dc:creator>Artem Matevosyan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://www.mtvsn.ru/?p=56</guid>
		<description><![CDATA[У Студии Лебедева, в которой мне работать не понравилось, имеется очень длинный мануал, как вырезать картинку из фона. Предлагаю ознакомиться с правильным вариантом этого процесса.
Имеем несколько слоев в Фотошопе, один из которых градиентный (или иной однотонный или неоднотонный) слой. Поверх этого градиентного слоя нам нужно разместить картинку на сайте. У нас два пути: использовать PNG [...]]]></description>
			<content:encoded><![CDATA[<p>У Студии Лебедева, в которой мне работать не понравилось, имеется очень длинный мануал, <a href="http://www.artlebedev.ru/tools/technogrette/img/cutting-images/" target="_blank">как вырезать картинку из фона</a>. Предлагаю ознакомиться с правильным вариантом этого процесса.</p>
<p>Имеем несколько слоев в Фотошопе, один из которых градиентный (или иной однотонный или неоднотонный) слой. Поверх этого градиентного слоя нам нужно разместить картинку на сайте. У нас два пути: использовать PNG или использовать GIF для создания на картинке прозрачных областей. В нашем случае мы будем использовать GIF.</p>
<p>Берем картинку и склеиваем все слои таким образом, чтобы фон был отдельно, а наш объект отдельно.</p>
<p><img class="aligncenter size-full wp-image-57" title="mtvsn-tut1" src="http://www.mtvsn.ru/wp-content/uploads/2009/07/mtvsn-tut1.jpg" alt="mtvsn-tut1" width="588" height="329" /></p>
<p><a href="http://www.mtvsn.ru/2009/07/23/kak-vyrezat-kartinku-iz-fona-pravilno/#cut-1">Читать далее</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mtvsn.ru/2009/07/23/kak-vyrezat-kartinku-iz-fona-pravilno/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
