<?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>Aen Sidhe&#039;s Weblog &#187; рецензии</title>
	<atom:link href="http://www.aensidhe.ru/category/reviews/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aensidhe.ru</link>
	<description>Просто блог.</description>
	<lastBuildDate>Fri, 03 Feb 2012 10:13:03 +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>Stuxnet Malware Analysis Paper</title>
		<link>http://www.aensidhe.ru/2011/10/11/stuxnet-malware-analysis-paper-2/</link>
		<comments>http://www.aensidhe.ru/2011/10/11/stuxnet-malware-analysis-paper-2/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 11:47:43 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[рецензии]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=1443</guid>
		<description><![CDATA[http://www.codeproject.com/KB/web-security/StuxnetMalware.aspx Ну, да, баян. Тем не менее, считаю статью интересной. В ней описывается сложнейший червь, известный даже на данный момент, который является ответственным за поломки центрифуг в иранской ядерной программе в 2009-2010 годах. Одно из свидетельств того, что делали это серьёзные люди с серьёзными целями &#8212; вирусная часть червя была подписана сертификатом, выданным корпорацией Verisign [...]]]></description>
			<content:encoded><![CDATA[<p>http://www.codeproject.com/KB/web-security/StuxnetMalware.aspx</p>
<p>Ну, да, баян. Тем не менее, считаю статью интересной. В ней описывается сложнейший червь, известный даже на данный момент, который является ответственным за поломки центрифуг в иранской ядерной программе в 2009-2010 годах.</p>
<p>Одно из свидетельств того, что делали это серьёзные люди с серьёзными целями &#8212; вирусная часть червя была подписана сертификатом, выданным корпорацией Verisign корпорации Realtek. Говорят, что сертификат был украден напрямую из офиса последней.</p>

	Метки:<a href="http://www.aensidhe.ru/category/development/" title="программирование" rel="tag">программирование</a>, <a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2011/10/11/stuxnet-malware-analysis-paper-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Рецензия на Eee Pad, часть 2. Софт.</title>
		<link>http://www.aensidhe.ru/2011/07/15/%d1%80%d0%b5%d1%86%d0%b5%d0%bd%d0%b7%d0%b8%d1%8f-%d0%bd%d0%b0-eee-pad-%d1%87%d0%b0%d1%81%d1%82%d1%8c-2-%d1%81%d0%be%d1%84%d1%82/</link>
		<comments>http://www.aensidhe.ru/2011/07/15/%d1%80%d0%b5%d1%86%d0%b5%d0%bd%d0%b7%d0%b8%d1%8f-%d0%bd%d0%b0-eee-pad-%d1%87%d0%b0%d1%81%d1%82%d1%8c-2-%d1%81%d0%be%d1%84%d1%82/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 13:16:44 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[рецензии]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=1431</guid>
		<description><![CDATA[К сожалению, ОС и много софта к планшетке написано известными криворучками из компании Google. ОС и драйвера. Вайфай не умеет каналы 12+ (вчера проверил, 11й ловит). Нет нормального встроенного кодека для mkv-контейнера. Приложение нельзя нормально закрыть. Нет нормального диспетчера приложений. Браузер. Почти на каждый чих &#8212; новый таб. Мало настроек. Жабаскрипты тормозят просто ужасно. Что-то [...]]]></description>
			<content:encoded><![CDATA[<p>К сожалению, ОС и много софта к планшетке написано известными криворучками из компании Google.</p>
<p><span id="more-1431"></span></p>
<ul>
<li>ОС и драйвера.</li>
<ul>
<li>Вайфай не умеет каналы 12+ (вчера проверил, 11й ловит).</li>
<li>Нет нормального встроенного кодека для mkv-контейнера.</li>
<li>Приложение нельзя нормально закрыть.</li>
<li>Нет нормального диспетчера приложений.</li>
</ul>
<li>Браузер.</li>
<ul>
<li>Почти на каждый чих &#8212; новый таб.</li>
<li>Мало настроек.</li>
<li>Жабаскрипты тормозят просто ужасно.</li>
<li>Что-то написать в браузерные поля, если есть жабаскрипты, невозможно.</li>
</ul>
<li>Гугломаркет.</li>
<ul>
<li>Не даёт качать приложения/апдейты, если не залогинен дефолтный гталк.</li>
<li>Гугломапсы в нём у меня повисли в непонятном статусе. Вроде стоят и не стоят.</li>
<li>Цену показывает не реальную, а конвертированную в рубли по хер знает какому курсу.</li>
</ul>
<li>Гуглотолк.</li>
<ul>
<li>Требует 5222 (5223) открытого порта в фаерволе. В корпоративных фаерволах оно закрыто.</li>
<li>После дисконнекта (отвалился вайфай, етс) показывает статус всех контактов как было (онлайн там, инвизибле), хотя на самом деле ты оффлайн. Автоматически не реконнектится.</li>
</ul>
<li>Гуглопочта.</li>
<ul>
<li>Как и вебовая &#8212; ок.</li>
<li>Рекламу не кажет, почту кажет.</li>
<li>Файлы прикладывать даёт.</li>
<li>Получает, отправляет.</li>
<li>Умеет работать с N аккаунтами.</li>
</ul>
<li>Гуглокарты.</li>
<ul>
<li>Нет кеша для них, поэтому не юзаю.</li>
<li>Маркер &#8212; стандартный кружок без стрелки. Фигня.</li>
</ul>
<li>Гуглоридер.</li>
<ul>
<li>Тоже, как ни странно, ок. Умеет даже выкачивать фид в оффлайн.</li>
</ul>
<li>Гуглокалендарь.</li>
<ul>
<li>Не даёт ставить напоминалки на кастомные интервалы (90 минут, 2.5 часа, етс).</li>
<li>Не даёт не приглашать участников встречи емылами (случайно поспамил людям).</li>
</ul>
</ul>
<p>Сразу поставил сверху:</p>
<ul>
<li>Ghost Commander</li>
<li>ArchiDroid</li>
<li>ЯндексКарты</li>
<li>AnDOSBox</li>
<li>2X Client RDP/Remote Desktop</li>
<li>Wifi Analyzer</li>
<li>ArchiDroid</li>
<li>GemRB</li>
<li>Google Reader</li>
<li>ezPDF Reader</li>
<li>Advanced Task Killer</li>
<li>AndroIRC</li>
<li>Yandex.Metro</li>
<li>Ghost Commander File Manager</li>
<li>Angry Birds Rio</li>
<li>Angry Birds Seasons</li>
<li>Angry Birds</li>
<li>Flash Player 10.3</li>
<li>Komik Reader &#8212; Free</li>
<li>Papirus</li>
</ul>
<p>Оно вроде всё работает ок.</p>

	Метки:<a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2011/07/15/%d1%80%d0%b5%d1%86%d0%b5%d0%bd%d0%b7%d0%b8%d1%8f-%d0%bd%d0%b0-eee-pad-%d1%87%d0%b0%d1%81%d1%82%d1%8c-2-%d1%81%d0%be%d1%84%d1%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Рецензия на Eee Pad</title>
		<link>http://www.aensidhe.ru/2011/07/14/%d1%80%d0%b5%d1%86%d0%b5%d0%bd%d0%b7%d0%b8%d1%8f-%d0%bd%d0%b0-eee-pad/</link>
		<comments>http://www.aensidhe.ru/2011/07/14/%d1%80%d0%b5%d1%86%d0%b5%d0%bd%d0%b7%d0%b8%d1%8f-%d0%bd%d0%b0-eee-pad/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 04:42:36 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[рецензии]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=1424</guid>
		<description><![CDATA[Третьего дня купил себе ееепад 32гб с докклавиатурой. Минусов немного, но некоторые могут показаться критичными. Чтобы купить или скачать софт из ондроед-маркета, на текущий момент, необходимо, чтобы дефолтный гталк клиент был онлаен. В связи с тем, что это поделие не хочет быть онлаен по 80 или 443 порту, имеем разные сюрпризы на рабочих вайфаях. Кстати, [...]]]></description>
			<content:encoded><![CDATA[<p align="left">Третьего дня купил себе ееепад 32гб с докклавиатурой. Минусов немного, но некоторые могут показаться критичными.</p>
<ol>
<li>Чтобы купить или скачать софт из ондроед-маркета, на текущий момент, необходимо, чтобы дефолтный гталк клиент был онлаен. В связи с тем, что это поделие не хочет быть онлаен по 80 или 443 порту, имеем разные сюрпризы на рабочих вайфаях.</li>
<li>Кстати, о вайфаях. На момент написания рецензии, ондроед 3+ ничего не знает про вайфай каналы выше 11. Якобы localization issue in USA. Остаётся непонятным в таком случае, как веризоновский iPad, купленный в США не имеет этих проблем. Желающие могут насрать в чатик в <a href="http://code.google.com/p/android/issues/detail?id=16609">багтрак ондроеду</a>.</li>
<li>Маркет показывает цену приложения в рублях по неведомому курсу. На самом деле, цена будет в валюте, которую указал издатель, и снимут именно эту сумму по курсу вашего банка.</li>
<li>Браузер. Дефолтный браузер &#8212; хром мобильный, одна штука. С ним всё почти хорошо, за исключением дурацкой привычки открывать табы на каждый чих. Не, может на мобиле я бы и оценил, но это же планшет.</li>
<li>Офисный пакет. Он ещё хуже, чем гуглодоки (например, вставка из внешних программ не пашет).  Но всё остальное бесплатное ещё хуже.</li>
<li>Пдфки читать дефолтным вьювером невозможно. Простые пдфки &#8212; лаг по секунде-две на страницу, сложные &#8212; по 3-5.</li>
<li>Переключение раскладки с дефолтной клавы вызывает диаложек, в котором надо выбрать нужную раскладку, а не листает установленные. Напрягает немного.</li>
<li>Видео. <a href="https://docs.google.com/document/pub?id=19Jn_ikBtJF3Sf5oe-6cWP0nkEX1aOpdTIC2PAjbgXHA">Вот табличка с 4pda</a>. Сам не пробовал.</li>
</ol>
<p align="left">Вроде всё.</p>
<p align="left">О плюсах:</p>
<ol>
<li>У меня появился и нетбук, и планшет, как я и хотел.</li>
<li>Достаточно долго живёт на батарейке.</li>
<li>Неплохо выглядит.</li>
<li>На нём без рута есть рабочий досбокс (их тут два: один за два с половиной фунта стерлингов, второй не работает) и гемрб (такой порт движка балдурсгейта).</li>
<li>Если вы хотите потестить софтину перед тем, как честно купить, а триалов нет (как я дважды честно сделал), то надо всего лишь поставить галку, разрешающую ставить приложения в обход маркета.</li>
<li>В нём есть гпс, даже в самых простых моделях.</li>
</ol>
<p><a href="http://habrahabr.ru/blogs/iTablet/123799/">Обзор на хабре</a>.</p>

	Метки:<a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2011/07/14/%d1%80%d0%b5%d1%86%d0%b5%d0%bd%d0%b7%d0%b8%d1%8f-%d0%bd%d0%b0-eee-pad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>compatibility</title>
		<link>http://www.aensidhe.ru/2011/03/30/compatibility/</link>
		<comments>http://www.aensidhe.ru/2011/03/30/compatibility/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 07:35:27 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[дневник]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[рецензии]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=1339</guid>
		<description><![CDATA[Для затравки загадка: почему Windows Vista и Windows 7 занимают по 20 и более гигабайт? Ответ в конце поста. Итак, один из штатных троллей канальчека сделал вброс на тему полугодовой давности. Тема следующая: разработчики glibc в линуксе привели поведение memcpy в соответствие со стандартом и всякий софт начал из-за этого падать (потому что клухацкеры полагались [...]]]></description>
			<content:encoded><![CDATA[<p>Для затравки загадка: почему Windows Vista и Windows 7 занимают по 20 и более гигабайт? Ответ в конце поста.</p>
<p>Итак, один из штатных троллей канальчека <span lj:user='danvolodar' style='white-space: nowrap; display: inline !important;'><a href='http://danvolodar.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;vertical-align:middle; margin-left: 0; margin-top: 0; margin-right: 0; margin-bottom: 0;' /></a><a href='http://danvolodar.livejournal.com/'><b>danvolodar</b></a></span> сделал вброс на тему полугодовой давности. Тема следующая: разработчики glibc в линуксе привели поведение memcpy в соответствие со стандартом и всякий софт начал из-за этого падать (потому что клухацкеры полагались на недокументированное поведение). Для начала закопипастю свою позицию по данному конкретному случаю:</p>
<blockquote><p>Есть много денег, как у Майкрософта — лепи костыль для каждого кулхацкера (как, например, поддержка SimCity и прочего). Нет много денег, как обычно, следи, чтобы документированное работало как работало. В целом, виноваты, кулхацкеры, использовавшие недокументированные фичи.</p></blockquote>
<p>Теперь я свою позицию поясню. Потому что люди, с разработкой не связанные её не понимают.</p>
<p>У нас есть стандарт языка Си. Этот стандарт нужен не только для линукса на х86 и х86-64, но также и для линукса на всех остальных архитектурах, а также для Винды, юникса и прочих поделок. Это удобно. Ты пересаживаешься на новую ОС/другую архитектуру и ты знаешь, какого поведения ожидать от той или иной функции рантайма. Именно для этого стандарт и был создан. Поэтому, если находим баг в реализации стандарта, его надо исправлять. Обязательно. Или документировать различие, в случае если исправление нецелесообразно.</p>
<p>Тут сразу же встаёт проблема совместимости, когда сторонние разрабы-кулхацкеры, которые использовали твою реализацию стандарта, полагаясь на недокументированные бажные фичи, начнут плакать &#171;аааа, у нас всё упало, верните как было&#187;. Так было, есть и будет. Разработчика-кулхацкера не интересует соответствие стандартам, его не интересует, что реализацию стандарта использует куча других людей. Ему нужно, чтобы его маленький хак работал и не надо было ничего делать. Вполне логичное поведение.</p>
<p>Эту проблему можно решать двумя способами.</p>
<ol>
<li>Мы вносим в документацию изменение: &#171;идите нахер со своими стандартами, у нас будет вот так&#187;. Этот вариант хорош тем, что не надо ничего делать. Плох тем, что наша реализация отличается от стандарта, новый человек будет неприятно удивлён, когда об этом узнает =&gt; кривая обучения становится круче. Надо знать не только стандарт, но и кучу маленьких хачков, прикрученных ради неумех.</li>
<li>Придумать способ сосуществования разных версий одного и того же модуля, даже если атрибут &#171;версия&#187; у них одинаковый. Это стоит а) денег (в виде работы проектировщиков, разработчиков и т.д.); б) места на жёстком диске юзера. Именно поэтому последние версии виндов так дохера занимают место.</li>
</ol>
<p>Способ 2, реализованный в Майкрософте относительно прост и туп. При линковке в EXE записывается не только версия dll, но и хеш той конкретной длл, с которой мы линкуемся. А винда хранит кучу версий этот длл и умеет найти нужную дллку по хешу. В результате, у нас есть более новые версии библиотек с исправленными багами и старые версии библиотек для софта, который использует недокументированные фичи. Все довольны и счастливы. Почему так нельзя сделать в линупсе мне непонятно.</p>
<p>Способ 2, реализованный у Apple, проще и тупее. Там просто каждая программа таскает за собой все необходимые ей библиотеки с собой. И никаких проблем нет.</p>
<p>Вернёмся к нашим баранам. Предложенное Линусом решение &#8212; сделать memcpy алиасом memmove &#8212; абсолютно неприемлимо. Потому что, кроме 1% от всех десктопов, у Линукса есть ещё минимум 18% &#171;встраиваемых устройств&#187; (роутеры, свитчи, мобилы, пылесосы, станки, военные чипы всякие и пр.), которые ещё не вылезли в рай двухгигагерцовых процов и гигабайтов памяти. И, скорее всего, не вылезут. И им разница между memcpy и memmove важна и критична до сих пор. И эти 18% в абсолютном исчислении в разы больше, чем 1% от десктопов. Наиболее правильное решение в условиях линуксоидов (малый бюджет, етс) было <a href="http://www.rsdn.ru/forum/philosophy/4041455.1.aspx">предложено на рсдн тогда же, полгода назад</a>:</p>
<ol>
<li>На уровне <del>молока матери</del> билд-системы разделение на DEBUG и RELEASE билды, вместо самописных велосипедов в половине make-файлов.</li>
<li>За год до изменения модифицируем debug-версию memcpy(), чтобы там вылетал ASSERT() в случае пересекаюшихся буферов.</li>
<li>Даем девелоперам год на фикс. Пишем об этом явно и везде.</li>
<li>Спустя год, меняем release-реализацию.</li>
</ol>
<p>Но линуксоидам же нахер не надо этого делать, им надо поорать друг на друга &#171;ты мудак и твоя реализация говно&#187;. Это, кстати, показывает всю суть текущей реализации опен-сорца в большинстве проектов. Когда Линусу или ещё кому предъявляешь претензии (например, по дохера не закрытых критических багов годами), они говорят: это опен-сорц, возьми да исправь сам, а не хочешь &#8212; жри, что дают, бесплатно же. Когда же делаешь так с ними (см. разрабов glibc), то вой до небес: &#171;как вы смели, моя софтинка падает, мне править некогда, вы &#8212; мудаки&#187;.</p>
<p>Теперь не менее важное, кто виноват в данном конкретном случае (в порядке убывания):</p>
<ol>
<li>Те, кто посадил в 1993м году багу и 17 лет не правил.</li>
<li>Те, кто использовал этот баг.</li>
<li>Те, кто изменил поведение де-факто без оповещений заранее.</li>
</ol>

	Метки:<a href="http://www.aensidhe.ru/category/blog/" title="дневник" rel="tag">дневник</a>, <a href="http://www.aensidhe.ru/category/development/" title="программирование" rel="tag">программирование</a>, <a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2011/03/30/compatibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rango</title>
		<link>http://www.aensidhe.ru/2011/03/28/rango/</link>
		<comments>http://www.aensidhe.ru/2011/03/28/rango/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 14:40:29 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[рецензии]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=1333</guid>
		<description><![CDATA[Ходил буквально вчера в кинотеатру посмотреть мультик. По рекомендации решил сходить на Ранго. И, знаете, мультик не разочаровал даже в дубляже. Очень напомнил замечательный сеттинг Deadlands. А под кат засуну пару спойлеров (в виде, как всегда, криво написанной рецензии) Итак, первое. Двухместные летучие мыши-штурмовики, у которых вместо стрелка сидит крот с банджо и наяривает &#171;Полёт [...]]]></description>
			<content:encoded><![CDATA[<p>Ходил буквально вчера в кинотеатру посмотреть мультик. По рекомендации <span lj:user='bolanoid' style='white-space: nowrap; display: inline !important;'><a href='http://bolanoid.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;vertical-align:middle; margin-left: 0; margin-top: 0; margin-right: 0; margin-bottom: 0;' /></a><a href='http://bolanoid.livejournal.com/'><b>bolanoid</b></a></span> решил сходить на Ранго. И, знаете, мультик не разочаровал даже в дубляже. Очень напомнил замечательный сеттинг Deadlands. А под кат засуну пару спойлеров (в виде, как всегда, криво написанной рецензии)</p>
<p><span id="more-1333"></span>Итак, первое. Двухместные летучие мыши-штурмовики, у которых вместо стрелка сидит крот с банджо и наяривает &#171;Полёт валькирий&#187; добили мой мозг окончательно. Да и вообще, вся эта сцена напоминает сразу несколько фильмов: Индиану Джонса и Звёздные войны как минимум. В общем, очень, очень удачная сцена.</p>
<p>Второе. Отличный змей. Больше ничего не буду против него говорить. Просто змей.</p>
<p>Третье. Дух дикого запада. Ему, кстати, через пару месяцев будет 81.</p>
<p>Четвёртое, грамотный флешбек в трилогию про пригоршню долларов в конце мультика.</p>

	Метки:<a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2011/03/28/rango/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Watchmen Director&#8217;s Cut</title>
		<link>http://www.aensidhe.ru/2009/07/18/watchmen-directors-cut/</link>
		<comments>http://www.aensidhe.ru/2009/07/18/watchmen-directors-cut/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 20:48:10 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[дневник]]></category>
		<category><![CDATA[рецензии]]></category>
		<category><![CDATA[видео]]></category>
		<category><![CDATA[кино]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=477</guid>
		<description><![CDATA[Да, оно круто. Это цензурно. Нецензурно &#8212; это ахуенно. Всем смотреть. Метки:видео, дневник, кино, рецензии]]></description>
			<content:encoded><![CDATA[<p>Да, оно круто. Это цензурно. Нецензурно &#8212; это ахуенно. Всем смотреть.</p>

	Метки:<a href="http://www.aensidhe.ru/tag/%d0%b2%d0%b8%d0%b4%d0%b5%d0%be/" title="видео" rel="tag">видео</a>, <a href="http://www.aensidhe.ru/category/blog/" title="дневник" rel="tag">дневник</a>, <a href="http://www.aensidhe.ru/tag/%d0%ba%d0%b8%d0%bd%d0%be/" title="кино" rel="tag">кино</a>, <a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2009/07/18/watchmen-directors-cut/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>profilers-part-2</title>
		<link>http://www.aensidhe.ru/2009/07/08/profilers-part-2/</link>
		<comments>http://www.aensidhe.ru/2009/07/08/profilers-part-2/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 17:46:55 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[дневник]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[рецензии]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[рабочее]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=428</guid>
		<description><![CDATA[Обещанное продолжение про профайлеры. Начало тут В предыдущей статье мы сделали дамп с помощью WinDbg. Далее, что с ним можно сделать? Наверно много, но меня интересовало только одно, а именно &#8212; память. Поэтому, я загнал дамп в .Net Memory Profiler. Данный профайлер сказал мне, что из 7 гигов рама, у меня управляемой памяти всего 1.5 [...]]]></description>
			<content:encoded><![CDATA[<p>Обещанное продолжение про профайлеры. Начало <a href="http://www.aensidhe.ru/2009/07/01/profilers/">тут</a></p>
<p>В предыдущей статье мы сделали дамп с помощью WinDbg. Далее, что с ним можно сделать? Наверно много, но меня интересовало только одно, а именно &#8212; память. Поэтому, я загнал дамп в .Net Memory Profiler.</p>
<p>Данный профайлер сказал мне, что из 7 гигов рама, у меня управляемой памяти всего 1.5 гига. Так как я был тупо уверен (без всяких на то указаний &#8212; это ошибка), что утечка именно в управляемой дотнетом памяти, то эту информацию я сразу отбросил и выкинул профайлер.</p>
<p>Пришлось гуглить и пытать по аське знакомых. Результаты:</p>
<p>“!eeheap -stat” &#8212; выдаст статистику по управляемым кучам. Предварительно надо загрузить расширение sos.dll. Посмотрев результаты, я понял, что управляемой памяти на самом деле всего полтора гига.</p>
<p>Дальнейшее было делом техники &#8212; зацепился из кода к GC Lua, стал выводить статистику по памяти в лог и убедился, что жрёт наш замечательный интерпретатор.</p>
<p>А вот <a href="http://www.codeproject.com/KB/cpp/MemoryLeak.aspx">пособие</a> для нубов, как юзать WinDbg для отсечки утечек памяти.</p>

	Метки:<a href="http://www.aensidhe.ru/tag/net/" title=".net" rel="tag">.net</a>, <a href="http://www.aensidhe.ru/category/blog/" title="дневник" rel="tag">дневник</a>, <a href="http://www.aensidhe.ru/category/development/" title="программирование" rel="tag">программирование</a>, <a href="http://www.aensidhe.ru/tag/%d1%80%d0%b0%d0%b1%d0%be%d1%87%d0%b5%d0%b5/" title="рабочее" rel="tag">рабочее</a>, <a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2009/07/08/profilers-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Profilers</title>
		<link>http://www.aensidhe.ru/2009/07/01/profilers/</link>
		<comments>http://www.aensidhe.ru/2009/07/01/profilers/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 07:12:06 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[рецензии]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[рабочее]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=411</guid>
		<description><![CDATA[Расскажу я вам сказочку о профайлерах. Их есть много, за каждый хотят обычно денег. Да, чуть не забыл &#8212; профилировать мы будем память. Итак, условия задачи: есть 64битный (это важно) .NET процесс, штатный режим которого &#8212; 1-2 Gb Ram, иногда оно съедает 7-8 (больше на сервере нет просто). Задача: выяснить что же там такое, что [...]]]></description>
			<content:encoded><![CDATA[<p>Расскажу я вам сказочку о профайлерах. Их есть много, за каждый хотят обычно денег. Да, чуть не забыл &#8212; профилировать мы будем память.</p>
<p>Итак, условия задачи: есть 64битный (это важно) .NET процесс, штатный режим которого &#8212; 1-2 Gb Ram, иногда оно съедает 7-8 (больше на сервере нет просто). Задача: выяснить что же там такое, что сжирает эти лишние 6 гиг рама, найти и уничтожить, как обычно всё в общем.</p>
<p>На испытания поступили:</p>
<ol>
<li><a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx">WinDbg</a> + SOS (брать в составе нужного фреймворка) &#8212; брутальнейший отладчик от майкрософт с интерфейсом в духе &#171;назад в 90е&#187; и &#171;я-vi&#187;, ибо практически всё управление через командную строку.</li>
<li><a href="http://www.jetbrains.com/profiler/">JetBrains dotTrace</a> &#8212; новенький гламурный профайлер, писанный на шарпе, с блекджеком и шлюхами.</li>
<li><a href="http://memprofiler.com/">.Net Memory Profiler</a> &#8212; понтов поменьше, чем у JetBrains, но интерфейс вполне приятный.</li>
</ol>
<p>Я не буду рассказывать про все их фичи &#8212; желающие сами прочтут по ссылкам. Я лишь расскажу, как я ими пользовался.</p>
<p>Запустил я WinDbg, увидел аццкое окошко, кучу непонятных букв и мегамануал и понял, что этот звездолёт я освою только в крайнем случае. Ну уж если совсем жопа будет. И отложил его подальше, благо он бесплатный, лежит &#8212; жрать не просит. Далее шёл фаворит &#8212; dotTrace.</p>
<p>Фаворит заупрямился сразу &#8212; к работающим процессам он не аттачится, видите ли там API херовое, поэтому у них API своё и надо запускать процесс из-под него. Ну раз так &#8212; значит так, нам то, что. Запускаем, эмулируем ситуацию, делаем дамп. Доттрейс думал долго. Минут 15, но дамп сделал (честь ему и хвала). Но дальше &#8212; финиш. Открывать его он отказался, сославшись на &#171;Not enough memory&#187;. Я тупо посмотрел на свободных 6 гиг рама и ещё 20 гиг свопа, почесал в затылке и написал в саппорт.</p>
<blockquote><p>добрый день.<br />
у меня есть пара вопросов по dottrace<br />
есть дампы по 900 метров файлы, снятые с процесса, который жрал примерно 2 гига рама. записывались только сами объекты, без колстеков, гарбадж коллектора и финалайзер инфы.<br />
пытаемся открыть версией 3.1 этот дамп на сервере (16 гб рама, вин 2003 р2 сп2 х64, 2 xeon каких-то). доттрейс падает с not enough memory.<br />
что у нас не так?</p></blockquote>
<p>Ответ меня сразил наповал:</p>
<blockquote><p>слишком большой снепшот. dT 3.1 &#8212; 32-битное приложение, ей 16 физических гигов не сильно помогут</p></blockquote>
<p>Как замечательно. Скромно умолчим, что качал я конечно версию, которая помечена на сайте как 64битное приложение. Для софта по 500 баксов за одно место, это несколько непонятно.</p>
<p>Ну, да ладно. Выкинув поделку от Jetbrains, я взялся за .Net Memory Profiler. Создателям возможная кривость Debugging API не помешала и профайлер умеет как цепляться к существующим процессам, так и запускать из под себя их. Поигравшись по мелочи с настройками, пытаемся сделать дамп процесса. Профайлер думал 2 часа, меня проклинали тестеры, но дамп сделать не смог. Стоит, правда, в два раза дешевле &#8212; 250 баксов.</p>
<p>Добрый коллега посоветовал для снятия дампа <a href="http://www.debuginfo.com/tools/clrdump.html">ClrDump</a>, бесплатную тулзу от спецов по отладке. Тулза порадовала быстрой работой, произведя дамп в 0 (ноль) байт с процесса в 7 гигов. Немедленно была составлена жалоба в суппорт:</p>
<blockquote><p>Hello.</p>
<p>I wonder why ClrDump produces dump of zero size? My process have 7 Gb of ram and I want to look why.</p>
<p>Command string: ClrDump 3684 sil.dmp Max.</p>
<p>What am I doing wrong?</p>
<p>There is enough space on HDD (about 100 Gb of free space)</p>
<p>Regards, Anatoly Popov.</p></blockquote>
<p>Автор сначала вежливо ответил, что он в отпуске, но на следующей неделе рассмотрит проблему внимательно. Не обманул, но ответ уже не удивлял:</p>
<blockquote><p>Hello Anatoly,</p>
<p>Is your process 64-bit? If so, ClrDump cannot create a dump for it (limitations of 32-bit DbgHelp.dll). Unfortunately, there is no 64-bit version of ClrDump (it was created when 64-bit systems were not widespread, and now I don&#8217;t have time to upgrade it).</p>
<p>As a workaround, it should be possible to write your own tool that would be built as 64-bit executable, load 64-bit DbgHelp.dll and create the dump. Three function calls are needed: OpenProcess (open the target process), CreateFile(create the dump file), MiniDumpWriteDump with the proper parameters to create the dump. I can send you a sample code if you want.</p>
<p>Regards,</p>
<p>Oleg</p></blockquote>
<p>Но тут хоть претензий предъявить нельзя &#8212; тулза бесплатная, делалась для себя. Так что ладно.</p>
<p>А что же наш звездолёт, который WinDbg? Звездолёт отлично делает дампы со скоростью, примерно равной скорости записи на винт, работает как часы, даром, что бесплатный, древний, да от майкрософта.</p>
<p>Да, кстати, в Vista и 2008 сервере так трахаться не надо. Открываем Task Manager, тыркаем правой кнопкой в процесс, выбираем Create Dump, вуаля, всё готово.</p>
<p>Приятной вам работы.</p>

	Метки:<a href="http://www.aensidhe.ru/tag/net/" title=".net" rel="tag">.net</a>, <a href="http://www.aensidhe.ru/category/development/" title="программирование" rel="tag">программирование</a>, <a href="http://www.aensidhe.ru/tag/%d1%80%d0%b0%d0%b1%d0%be%d1%87%d0%b5%d0%b5/" title="рабочее" rel="tag">рабочее</a>, <a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2009/07/01/profilers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Меньшее зло</title>
		<link>http://www.aensidhe.ru/2009/03/08/nececcary-evil/</link>
		<comments>http://www.aensidhe.ru/2009/03/08/nececcary-evil/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 10:20:50 +0000</pubDate>
		<dc:creator>Aen Sidhe</dc:creator>
				<category><![CDATA[рецензии]]></category>
		<category><![CDATA[кино]]></category>

		<guid isPermaLink="false">http://www.aensidhe.ru/?p=296</guid>
		<description><![CDATA[Или может ли утопия стоить нескольких сотен миллионов человеческих жизней? Под катом спойлеры про фильм Watchmen (Хранители). Ходил вчера (сегодня? ) на ночь кино, посвящённую Заку Снайдеру в кинотеатр &#171;Спутник&#187;. Обещали показать Watchmen, 300 и Dawn of the Dead (дубляжи естесственно). Почему обещали? Потому что в пять утра в кинотеатре ВНЕЗАПНО осознали, что Dawn of [...]]]></description>
			<content:encoded><![CDATA[<p>Или может ли утопия стоить нескольких сотен миллионов человеческих жизней? Под катом спойлеры про фильм Watchmen (Хранители).</p>
<p><span id="more-296"></span>Ходил вчера (сегодня? <img src='http://www.aensidhe.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) на ночь кино, посвящённую Заку Снайдеру в кинотеатр &#171;Спутник&#187;. Обещали показать Watchmen, 300 и Dawn of the Dead (дубляжи естесственно). Почему обещали? Потому что в пять утра в кинотеатре ВНЕЗАПНО осознали, что Dawn of the Dead шибко длинный и до утреннего сеанса не влезет, поэтому они будут показывать &#171;Войну невест&#187;. Ну, так как я шёл на первые два фильма, то я просто встал и ушёл.</p>
<p>Собственно, фильма Хранители сильно отличается от фильмы 300. Боёвок действительно мало, но, имхо, это скрашивается сюжетом, героями и диалогами (поэтому надо срочно найти в оригинале и пересмотреть). Собственно, &#171;главный злодей&#187; &#8212; невероятно умный человек, который замыслил всякое (уничтожить крупнейшие финансовые мировые центры), подставить под это дело одного из супергероев, тогда СССР и США объединят усилия против него, и с войной будет покончено. Собственно, так оно и произошло. Порадовала одна сцена, когда его пытаются остановить другие супергерои, он от них лениво отмахивается, объясняет свой план (классическая сцена, да):</p>
<blockquote><p>- Мы не позволим тебе этого сделать!</p>
<p>- Вы держите меня за идиота? Стал бы я вам объяснять свой план, если была бы хоть какая-то вероятность того, что вы мне сможете помешать. Я всё сделал 35 минут назад.</p></blockquote>
<p>Классическая сцена: супергероя/мента сажают в тюрьму к обычным уголовникам, почти сразу же следует наезд, наезжающий отлавливает ранений, не совместимых с жизнью:</p>
<blockquote><p>- Вы думаете, это меня с вами заперли? Нет! Это ВАС со мной заперли!</p></blockquote>
<p>В целом, фильма и главные герои (я за них считаю Роршаха и Эдриана-Азумандиуса) злы, а герои ещё и умны, беспощадны и жестоки. Что есть гут, таких фильмов мало.</p>
<p>Про 300 всё уже пережёвано сто раз, поэтому не буду ничего рассказывать.</p>
<p>В перерыве между фильмами доставило наше юношество, которое собиралось смотреть 300 не в первый раз.</p>
<blockquote><p>- Непонятно, причём тут СССР в фильме.</p>
<p>- Да и вообще, фильм какой-то мутный. Ничо, щас будут исторический показывать. 300 спартанцев.</p></blockquote>

	Метки:<a href="http://www.aensidhe.ru/tag/%d0%ba%d0%b8%d0%bd%d0%be/" title="кино" rel="tag">кино</a>, <a href="http://www.aensidhe.ru/category/reviews/" title="рецензии" rel="tag">рецензии</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.aensidhe.ru/2009/03/08/nececcary-evil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

