﻿<?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>Малинников.ru &#187; Разработка ПО</title>
	<atom:link href="http://malinnikov.ru/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://malinnikov.ru</link>
	<description>Абсолютно неофициальная страница Павла Малинникова</description>
	<lastBuildDate>Thu, 22 Dec 2011 15:05:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Антивирусы</title>
		<link>http://malinnikov.ru/antivirusy/</link>
		<comments>http://malinnikov.ru/antivirusy/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 22:20:28 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Наблюдения]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[антивирус]]></category>
		<category><![CDATA[вирусяка]]></category>
		<category><![CDATA[плохо]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2686</guid>
		<description><![CDATA[Всем известно, что такой класс программ, как антивирусы — это обратная сторона существования вредоносного ПО.
Все знают, что вирусные программы — это плохо, но не все понимают, что антивирусы совсем не светлая сторона этого явления. Технически они устроены так же, как и вирусы, их положительная по сравнению с вирусами репутация существует только в сознании пользователей.
Понять это [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 279px"><img style="margin-left: 10px; margin-right: 10px;" src="https://lh5.googleusercontent.com/-Qq6zQlgogXw/TojaFs_62RI/AAAAAAAAB7Y/H1CuPnapN6I/images.jpeg" alt="" width="259" height="194" /><p class="wp-caption-text">Средство от головной боли</p></div>
<p>Всем известно, что такой класс программ, как антивирусы — это обратная сторона существования вредоносного ПО.</p>
<p>Все знают, что вирусные программы — это плохо, но не все понимают, что антивирусы совсем не светлая сторона этого явления. Технически они устроены так же, как и вирусы, их положительная по сравнению с вирусами репутация существует только в сознании пользователей.</p>
<p>Понять это поможет простая аналогия: люди, предлагающие вам услуги &laquo;крыши&raquo;, совсем не обязательно желают вам добра. Они являются такими же бандитами, от которых вас &laquo;защищают&raquo;. Они просто хотят, чтобы свои деньги вы отдавали именно им, а не кому-то еще.</p>
<p>Смотрите сами: вирусы изготовляются с целью получения прибыли при помощи контроля над компьютерами или прямого вымогательства методом шантажа.</p>
<p>Антивирусы занимаются тем же. Они получают полный контроль над машиной и требуют оплаты лицензии, постоянно напоминая, что ваш компьютер &laquo;не полностью&raquo; защищен, пока не приобретена полная лицензия. При этом активно используется красные тревожные цвета и другие уловки, зачастую ложно создающие у пользователя иллюзию опасности, от которой антивирус якобы может его избавить.</p>
<p>Хотя оплата лицензии совсем не дает гарантию неуязвимости.</p>
<p>Иногда антивирусы находят и удаляют вирусы, но так они поступают со всеми конкурентами, не позволяющими монопольно доить пользователя. Например, их беспокоит наличие на машине других антивирусов. Они рекомендуют удалить их &laquo;для избежания конфликтов&raquo;.</p>
<p>Ресурсов на поддержание работы антивируса расходуется неизмеримо больше по сравнению с ущербом от самих вирусов. Кроме стоимости лицензии, нужны трудозатраты по обновлению баз, работа антивируса крадет у вас часы рабочего времени, т.к. замедляются все операции с файлами и сетью, работа программ. Известны случаи, когда ошибки в обновлениях антивирусов приводили к остановке серверов предприятий в масштабах страны.</p>
<p>Антивирусы, как и вирусы — это продукт, превращающий неграмотность большинства пользователей в прибыль.</p>
<p>А ведь для того, чтобы защититься от вирусов, достаточно установить и настроить файервол и не сидеть под администратором. Развитие альтернативных ОС тоже дает много решений этой проблемы.</p>
<p>Но, к сожалению, пока что антивирусы и вирусы продолжают осложнять нашу жизнь и жизнь наших знакомых, которым потом требуется наша помощь.</p>
<p>Итак, антивирусы борются с конкурентным ПО, затрудняют свою деинсталляцию, требуют оплаты лицензии на основании псевдоугроз. Они ведут себя, как вирусы, но отнимают ресурсов в широком масштабе больше, чем последние.</p>
<p>Кроме того, антивирусный бизнес заинтересован в постоянном совершенствовании вирусных программ.</p>
<p>P.S. Сам я давно перешел на мак и мне очень досадно, когда люди обращаются за помощью при проблемах с вирусами и антивирусами т.к. такого разряда проблем в моей жизни больше не существует. Причем проблемы у знакомых из-за антивирусов возникают намного чаще!</p>
<p>На ноутбуке жены и мультимедийном компьютере я поставил убунту и забыл о всяких вирусах и о необходимости возиться с антивирусами. Да и когда я сидел на виндовс, с реальной вирусной активностью с 1998 года я сталкивался меньше десяти раз.</p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/antivirusy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Падения Safari 5.1</title>
		<link>http://malinnikov.ru/padeniya-safari-5-1/</link>
		<comments>http://malinnikov.ru/padeniya-safari-5-1/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 00:23:28 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Дневник]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[webmoney]]></category>
		<category><![CDATA[тайммашина]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2593</guid>
		<description><![CDATA[После обновления падает при попытке обратиться к сертификату вебманей.
Видно, и на Солнце бывают пятна. Правда, в клевой макоси это не стало большой проблемой. Запустил машину времени, из позавчерашнего файндера взял Safari 5.0.5 и всех делов. Уже год работаю в макоси, а удовольствие от работы не притупилось.
Отправил краш-дамп эпплам, пусть чинят.
UPD: Все разрешилось легко. Тут люди [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="https://lh6.googleusercontent.com/-4sg5rLclJ1Q/Tjsraq8sLuI/AAAAAAAABzo/O3Eug2sVK8c/Apple_Safari.png" alt="" width="256" height="256" />После обновления падает при попытке обратиться к сертификату вебманей.</p>
<p>Видно, и на Солнце бывают пятна. Правда, в клевой макоси это не стало большой проблемой. Запустил машину времени, из позавчерашнего файндера взял Safari 5.0.5 и всех делов. Уже год работаю в макоси, а удовольствие от работы не притупилось.</p>
<p>Отправил краш-дамп эпплам, пусть чинят.</p>
<p><em>UPD: Все разрешилось легко. <noindex><a href="https://discussions.apple.com/thread/3213166?start=0&amp;tstart=0" class="extlink">Тут</a></noindex> люди обсуждают эту проблему, говорят, надо в Связке ключей указать урл, для которого этот сертификат предназначен. Для Вебманей список адресов можно взять <noindex><a href="http://wiki.webmoney.ru/wiki/show/Подготовка+к+использованию+WebMoney+Keeper+Light+в+Mac+OS+X" class="extlink">отсюда</a></noindex>.</em><br />
<span id="more-2593"></span></p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:100%;height:500px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br /></div></td><td><div class="text codecolorer" style="font-family: Courier New, monospace">Exception Type: &nbsp;EXC_BAD_ACCESS (SIGSEGV)<br />
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000019<br />
Crashed Thread: &nbsp;0 &nbsp;Dispatch queue: com.apple.main-thread<br />
<br />
Thread 0 Crashed: &nbsp;Dispatch queue: com.apple.main-thread<br />
0 &nbsp; libstdc++.6.dylib &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff89dbe798 __dynamic_cast + 36<br />
1 &nbsp; com.apple.security &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff80ee618d Security::KeychainCore::Identity::required(OpaqueSecIdentityRef*) + 43<br />
2 &nbsp; com.apple.security &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff80ee607e SecIdentityCopyCertificate + 54<br />
3 &nbsp; com.apple.Safari.framework &nbsp; &nbsp;&nbsp; 0x00007fff81c219b0 SecIdentityCopySSLClientAuthenticationChain + 70<br />
4 &nbsp; com.apple.Safari.framework &nbsp; &nbsp;&nbsp; 0x00007fff81a64553 Safari::useIdentityForChallenge(OpaqueSecIdentityRef*, Safari::WK::AuthenticationChallenge const&amp;amp;) + 32<br />
5 &nbsp; com.apple.Safari.framework &nbsp; &nbsp;&nbsp; 0x00007fff81a65280 Safari::BrowserContentViewController::useClientCertificatesForAuthenticationChallenge(Safari::WK::AuthenticationChallenge const&amp;amp;) + 354<br />
6 &nbsp; com.apple.Safari.framework &nbsp; &nbsp;&nbsp; 0x00007fff81a595e2 Safari::BrowserContentViewController::didReceiveAuthenticationChallenge(Safari::WK::AuthenticationChallenge const&amp;amp;) + 78<br />
7 &nbsp; com.apple.Safari.framework &nbsp; &nbsp;&nbsp; 0x00007fff81bd706a Safari::WK::didReceiveAuthenticationChallengeInFrame(OpaqueWKPage const*, OpaqueWKFrame const*, OpaqueWKAuthenticationChallenge const*, void const*) + 99<br />
8 &nbsp; com.apple.WebKit2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff80cf12f9 WebKit::WebPageProxy::didReceiveAuthenticationChallenge(unsigned long long, WebCore::AuthenticationChallenge const&amp;amp;, unsigned long long) + 133<br />
9 &nbsp; com.apple.WebKit2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff80cf0c49 void CoreIPC::handleMessage(CoreIPC::ArgumentDecoder*, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, WebCore::AuthenticationChallenge const&amp;amp;, unsigned long long)) + 172<br />
10 &nbsp;com.apple.WebKit2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff80ca8eb0 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 162<br />
11 &nbsp;com.apple.WebKit2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff80ca8d9c CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message&amp;amp;) + 138<br />
12 &nbsp;com.apple.WebKit2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff80ca8cfb CoreIPC::Connection::dispatchMessages() + 121<br />
13 &nbsp;com.apple.WebKit2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff80ca5bef RunLoop::performWork() + 135<br />
14 &nbsp;com.apple.WebKit2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff80ca5b3d RunLoop::performWork(void*) + 83<br />
15 &nbsp;com.apple.CoreFoundation &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff8233c401 __CFRunLoopDoSources0 + 1361<br />
16 &nbsp;com.apple.CoreFoundation &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff8233a5f9 __CFRunLoopRun + 873<br />
17 &nbsp;com.apple.CoreFoundation &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff82339dbf CFRunLoopRunSpecific + 575<br />
18 &nbsp;com.apple.HIToolbox &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff88c987ee RunCurrentEventLoopInMode + 333<br />
19 &nbsp;com.apple.HIToolbox &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff88c985f3 ReceiveNextEventCommon + 310<br />
20 &nbsp;com.apple.HIToolbox &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x00007fff88c984ac BlockUntilNextEventMatchingListInMode + 59<br />
21 &nbsp;com.apple.AppKit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff8457aeb2 _DPSNextEvent + 708<br />
22 &nbsp;com.apple.AppKit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff8457a801 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155<br />
23 &nbsp;com.apple.Safari.framework &nbsp; &nbsp;&nbsp; 0x00007fff81a49452 -[BrowserApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 177<br />
24 &nbsp;com.apple.AppKit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff8454068f -[NSApplication run] + 395<br />
25 &nbsp;com.apple.AppKit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0x00007fff845393b0 NSApplicationMain + 364<br />
26 &nbsp;com.apple.Safari.framework &nbsp; &nbsp;&nbsp; 0x00007fff81c03f62 SafariMain + 200<br />
27 &nbsp;com.apple.Safari &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0x0000000100000f1c 0x100000000 + 3868</div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/padeniya-safari-5-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Превышено количество допустимых подключений RDP</title>
		<link>http://malinnikov.ru/prevysheno-kolichestvo-dopustimyx-podklyuchenij-rdp/</link>
		<comments>http://malinnikov.ru/prevysheno-kolichestvo-dopustimyx-podklyuchenij-rdp/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 04:50:57 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[RDP]]></category>
		<category><![CDATA[работа]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2462</guid>
		<description><![CDATA[Бывает, надо срочно зайти на сервер, а там кто-то бросил незакрытые терминальные сессии. Это вообще негодяйство, так бросать, я всегда отлогиниваюсь, а не просто закрываю окно крестиком.
Так вот, чтобы каждый раз не искать по инету. Можно подключиться так:
1mstsc /v:&#60;ip адрес&#62; /admin
Ну и другие параметры подключения там есть у mstsc.
]]></description>
			<content:encoded><![CDATA[<p>Бывает, надо срочно зайти на сервер, а там кто-то бросил незакрытые терминальные сессии. Это вообще негодяйство, так бросать, я всегда отлогиниваюсь, а не просто закрываю окно <em>крестиком</em>.</p>
<p>Так вот, чтобы каждый раз не искать по инету. Можно подключиться так:</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:100%"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br /></div></td><td><div class="bash codecolorer" style="font-family: Courier New, monospace">mstsc <span class="sy0">/</span>v:<span class="sy0">&lt;</span>ip адрес<span class="sy0">&gt;</span> <span class="sy0">/</span>admin</div></td></tr></tbody></table></div>
<p>Ну и другие параметры подключения там есть у mstsc.</p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/prevysheno-kolichestvo-dopustimyx-podklyuchenij-rdp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Уметь надо</title>
		<link>http://malinnikov.ru/umet-nado/</link>
		<comments>http://malinnikov.ru/umet-nado/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 21:28:43 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Наблюдения]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[работа]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2460</guid>
		<description><![CDATA[Из анкеты одного из кандидатов к нам на работу (программисты).
— Причина увольнения с прошлого места работы?
— Сделал всю работу.
Вот так уметь надо.
P.S. Не взяли его, а жаль.
]]></description>
			<content:encoded><![CDATA[<p>Из анкеты одного из кандидатов к нам на работу (программисты).</p>
<p>— Причина увольнения с прошлого места работы?<br />
— Сделал всю работу.</p>
<p>Вот так уметь надо.</p>
<p>P.S. Не взяли его, а жаль.</p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/umet-nado/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Кеня учится программировать</title>
		<link>http://malinnikov.ru/kenya-uchitsya-programmirovat/</link>
		<comments>http://malinnikov.ru/kenya-uchitsya-programmirovat/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 22:43:05 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Дневник]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[Сыночек Инокеша]]></category>
		<category><![CDATA[игрушки]]></category>
		<category><![CDATA[Кеня]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2451</guid>
		<description><![CDATA[Нашел игру: нужно программировать робота, заполняя очередь команд (вперед, прыжок, налево, направо и так далее). Циклов и условий нет, но есть функции — несколько действий, которые можно вставить в программу, как одно.
В прошлом году я показывал Кене эту игрушку, но он без энтузиазма отнесся. А недавно он сам сказал, что хотел бы поиграть в того [...]]]></description>
			<content:encoded><![CDATA[<p>Нашел игру: нужно программировать робота, заполняя очередь команд (вперед, прыжок, налево, направо и так далее). Циклов и условий нет, но есть функции — несколько действий, которые можно вставить в программу, как одно.</p>
<p>В прошлом году я показывал Кене эту игрушку, но он без энтузиазма отнесся. А недавно он сам сказал, что хотел бы поиграть в того робота. И мы начали отладку:</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/-wCnU3rlsqg?fs=1&amp;hl=ru_RU"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-wCnU3rlsqg?fs=1&amp;hl=ru_RU" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object><br />
<span id="more-2451"></span><br />
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/h3ziTsja0i8?fs=1&amp;hl=ru_RU"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/h3ziTsja0i8?fs=1&amp;hl=ru_RU" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/P9eNxFCO1p0?fs=1&amp;hl=ru_RU"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/P9eNxFCO1p0?fs=1&amp;hl=ru_RU" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Там дальше, кстати, клеточек на все задания не хватает, нужно хитро использовать эти функции, я сам дальше 10-го уровня не прошел.</p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/kenya-uchitsya-programmirovat/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Флеш плеер 10.2</title>
		<link>http://malinnikov.ru/flesh-pleer-10-2/</link>
		<comments>http://malinnikov.ru/flesh-pleer-10-2/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 22:17:03 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Дневник]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[jqGrid]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2437</guid>
		<description><![CDATA[Вышла бета флеш-плеера 10.2. Действительно, очень чуваки продвинулись в использовании аппаратного ускорения, во всяком случае, хвастались маленькой нагрузкой на проц и радовались. Ну молодцы, что скажешь. Особо обратили внимание, что на маках нагрузка при воспроизведении HD видео такая же, как и на винде.
Я сравнительно недавно на маке, но никогда не видел тех ужасов, что маководы [...]]]></description>
			<content:encoded><![CDATA[<p>Вышла бета <noindex><a href="http://labs.adobe.com/downloads/flashplayer10.html" class="extlink">флеш-плеера 10.2</a></noindex>. Действительно, очень чуваки продвинулись в использовании аппаратного ускорения, во всяком случае, <noindex><a href="http://www.youtube.com/watch?v=geK7geL3I40" class="extlink">хвастались маленькой нагрузкой на проц и радовались</a></noindex>. Ну молодцы, что скажешь. Особо обратили внимание, что на маках нагрузка при воспроизведении HD видео такая же, как и на винде.</p>
<p>Я сравнительно недавно на маке, но никогда не видел тех ужасов, что маководы про флеш-плеер рассказывают. Главный ужас у них — это &laquo;на моём маке начинает шуметь вентилятор, ах какой кошмар, ой-ой-ой&raquo;. Я замечал пару раз, что начинает шуметь, да, точно так же, как и при воспроизведении видео в квиктайм и при анализе громкости скачанных подкастов в айтюнс.</p>
<p>Про канвасы в хтмл5 я и не говорю. Рисовальщики демок на канвасах быстро развиваются, уже почти приблизились к <noindex><a href="http://www.effectgames.com/demos/canvascycle/" class="extlink">пиксельной графике времён досовских игрушек</a></noindex> но зацикленный водопад, отжирающий 50% проца, после HD видео во флеше, стоимостью в 10% совсем не впечатляет.</p>
<p>Интересны внутренние ощущения флешненавистников по поводу успехов Адоби на ниве плеера. Тех, кто на всех форумах пишет: &laquo;флеш не нужен&raquo;, &laquo;флеш должен умереть&raquo; &laquo;Адоби все просрали&raquo; и т.п.</p>
<p>С одной стороны, они не хотят, чтобы &laquo;оно тормозило&raquo;, с другой — почему-то совсем отказаться от флеша не могут и вынуждены скачивать новые версии. А может, они &laquo;не замечают&raquo; типа, что там нового выходит, все равно &laquo;он не нужен&raquo;.</p>
<p>Ну да бог с ними, с фанатиками, может у кого и пройдет ещё категоричность и юношеский максимализм. Я давно заметил: люди, утверждающие, что или X — &laquo;зло&raquo; или Y — &laquo;от лукавого&raquo;, на дальние дистанции не бегают и глубоко не плавают. Особенно в нашем программистском деле.</p>
<p>P.S. Я поковырялся с PostgreSQL, как-то раньше не приходилось с ним сталкиваться — очень большая радость, как по мне, то он лучше MySQL, меньшую его распространенность я могу объяснить только немного более тяжёлой его настройкой для хостера.</p>
<p>Сделал на постгресе серверную часть для <noindex><a href="http://trirand.com/blog/jqgrid/jqgrid.html" class="extlink">этой штуки</a></noindex>. jQuery тоже ммм, — пальчики оближешь.</p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/flesh-pleer-10-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GMT, UTC etc.</title>
		<link>http://malinnikov.ru/gmt-utc-etc/</link>
		<comments>http://malinnikov.ru/gmt-utc-etc/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 10:28:14 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[GMT]]></category>
		<category><![CDATA[UTC]]></category>
		<category><![CDATA[время]]></category>
		<category><![CDATA[гринвич]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2394</guid>
		<description><![CDATA[
Я не буду заниматься копированием букв о том, что такое время по Гринвичу (GMT), всемирное координированное время (UTC) всё это можно самому посмотреть в интернетах.
С этими вещами приходится сталкиваться в проектах, ориентированных на международное использование. Нахождение пользователей в разных часовых поясах заставляет особое внимание уделять timezone-арифметике. Иначе ответственный за выполнение задачи в Австралии обнаружит, что он [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><noindex><a href="http://lh5.ggpht.com/_WB6KL0U2lTQ/TMnvnFszUaI/AAAAAAAAA8U/H5df1qpBPxE/Timezones2010.png"title="Картинка с Википедии, да."  ><img class="aligncenter" src="http://lh5.ggpht.com/_WB6KL0U2lTQ/TMnvnFszUaI/AAAAAAAAA8U/H5df1qpBPxE/s912/Timezones2010.png" alt="" width="547" height="293" /></a></noindex></p>
<p>Я не буду заниматься копированием букв о том, что такое время по Гринвичу (GMT), всемирное координированное время (UTC) всё это можно самому посмотреть в <noindex><a href="http://ru.wikipedia.org/wiki/Всемирное_координированное_время" target="_blank" class="extlink">интернетах</a></noindex>.</p>
<p>С этими вещами приходится сталкиваться в проектах, ориентированных на международное использование. Нахождение пользователей в разных часовых поясах заставляет особое внимание уделять timezone-арифметике. Иначе ответственный за выполнение задачи в Австралии обнаружит, что он должен был выполнить только что созданную в Америке задачу часов 16 назад.</p>
<p>Так вот, главное в этом деле — не забывать о переходе на летнее время. Я, например, привык думать, что у нас в Украине GMT +2. Но сейчас-то мы на летнем времени, поэтому считать всё нужно, как GMT +3. А в Москве — GMT +4.</p>
<p>Вот перейдём послезавтра на зимнее время, тогда и будет +2.</p>
<p>P.S. Есть хорошая новость: сутки становятся каждые 2—3 года на секунду длиннее, это хорошо. Как-то легче морально.</p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/gmt-utc-etc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>К теме об Xcode</title>
		<link>http://malinnikov.ru/k-teme-ob-xcode/</link>
		<comments>http://malinnikov.ru/k-teme-ob-xcode/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 21:20:56 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[xcode]]></category>
		<category><![CDATA[мак]]></category>
		<category><![CDATA[хорошо]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2383</guid>
		<description><![CDATA[Я уже писал о том, что мне не хватает дублирования строк в Xcode и потом всё-таки сделал себе такую фишку. Заодно познакомился с AppleSript, я люблю такие штуки.
Скрипт оказался простым:
1234567891011121314151617(*
Duplicates a line of code (no need to select it) or several lines selected.
Pavel Malinnikov, malinnikov.ru
*)

using terms from application &#34;Xcode&#34;
&#160; &#160; 
&#160; &#160; tell first text [...]]]></description>
			<content:encoded><![CDATA[<p>Я уже писал о том, <a href="http://malinnikov.ru/privyk-a-maku/">что мне не хватает дублирования строк в Xcode</a> и потом всё-таки сделал себе такую фишку. Заодно познакомился с <noindex><a href="http://en.wikipedia.org/wiki/AppleScript" target="_blank" class="extlink">AppleSript</a></noindex>, я люблю такие штуки.</p>
<p>Скрипт оказался простым:</p>
<div class="codecolorer-container applescript " style="overflow:auto;white-space:nowrap;width:100%"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="applescript codecolorer" style="font-family: Courier New, monospace"><span class="coMULTI">(*<br />
Duplicates a line of code (no need to select it) or several lines selected.<br />
Pavel Malinnikov, malinnikov.ru<br />
*)</span><br />
<br />
using terms <span class="kw1">from</span> application <span class="st0">&quot;Xcode&quot;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw1">tell</span> <span class="kw2">first</span> text document<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">set</span> <span class="br0">&#123;</span>startLine, endLine<span class="br0">&#125;</span> <span class="kw1">to</span> selected paragraph range<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">set</span> theText <span class="kw1">to</span> <span class="br0">&#40;</span>paragraphs startLine <span class="kw2">through</span> endLine<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">set</span> theText <span class="kw1">to</span> <span class="br0">&#40;</span>theText <span class="kw3">as</span> string<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">make</span> new paragraph at <span class="kw2">beginning</span> <span class="kw1">of</span> paragraph <span class="br0">&#40;</span>endLine <span class="sy0">+</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="kw1">with</span> data theText<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw1">end</span> <span class="kw1">tell</span><br />
&nbsp; &nbsp; <br />
<span class="kw1">end</span> using terms <span class="kw1">from</span></div></td></tr></tbody></table></div>
<p>Для дублирования необязательно выделять всю строку, используется та, на которой находится каретка. Но можно выделить и несколько строк, они тоже сдублируются, не затирая содержимое клипборда. Добавил скрипт в Xcode, повесил на ⌘D и кодить стало легче.</p>
<p class="noimgshadow" style="text-align: center;"><noindex><a href="http://lh6.ggpht.com/_WB6KL0U2lTQ/TMniy0LtwbI/AAAAAAAAA74/SW6H_ahQ2Zg/Снимок%20экрана%202010-10-28%20в%2023.02.42.png" ><img class="aligncenter" src="http://lh6.ggpht.com/_WB6KL0U2lTQ/TMniy0LtwbI/AAAAAAAAA74/SW6H_ahQ2Zg/Снимок%20экрана%202010-10-28%20в%2023.02.42.png" alt="" width="536" height="472" /></a></noindex><span id="more-2383"></span></p>
<p>Кстати, утилиту для сохранения истории буфера обмена я тоже нашел, <noindex><a href="http://jumpcut.sourceforge.net/" target="_blank" class="extlink">JumpCut</a></noindex>, бесплатная:</p>
<p><img class="aligncenter" src="http://lh4.ggpht.com/_WB6KL0U2lTQ/TMni08FbbBI/AAAAAAAAA78/EMdhKgYvfao/Снимок%20экрана%202010-10-28%20в%2023.21.20.png" alt="" width="510" height="520" /></p>
<p>Ну а Xcode — сила, всё-таки. Вот, например, как он показывает результаты анализа возможных утечек памяти:</p>
<p style="text-align: center;"><noindex><a href="http://lh4.ggpht.com/_WB6KL0U2lTQ/TMnZ6EweCQI/AAAAAAAAA7g/N_Jb8GZ8K8c/Снимок%20экрана%202010-09-30%20в%2021.10.16.png" ><img class="aligncenter" src="http://lh4.ggpht.com/_WB6KL0U2lTQ/TMnZ6EweCQI/AAAAAAAAA7g/N_Jb8GZ8K8c/Снимок%20экрана%202010-09-30%20в%2021.10.16.png" alt="" width="561" height="505" /></a></noindex></p>
<p style="text-align: center;"><noindex><a href="http://lh4.ggpht.com/_WB6KL0U2lTQ/TMnZ6EweCQI/AAAAAAAAA7g/N_Jb8GZ8K8c/Снимок%20экрана%202010-09-30%20в%2021.10.16.png" ></a></noindex><noindex><a href="http://lh4.ggpht.com/_WB6KL0U2lTQ/TMnnZLkKszI/AAAAAAAAA8M/tK_1tMa_6pE/Снимок%20экрана%202010-09-30%20в%2021.09.52.png" class="extlink"><img class="aligncenter" src="http://lh4.ggpht.com/_WB6KL0U2lTQ/TMnnZLkKszI/AAAAAAAAA8M/tK_1tMa_6pE/Снимок%20экрана%202010-09-30%20в%2021.09.52.png" alt="" width="600" height="375" /></a></noindex></p>
<p style="text-align: left;">И в отладчике работать — удовольствие. Вот, что он может делать: <noindex><a href="http://cocoawithlove.com/2008/10/debugging-tips-for-objective-c.html" target="_blank" class="extlink">http://cocoawithlove.com/2008/10/debugging-tips-for-objective-c.html</a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/k-teme-ob-xcode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple снимает ограничения</title>
		<link>http://malinnikov.ru/apple-snimaet-ogranicheniya/</link>
		<comments>http://malinnikov.ru/apple-snimaet-ogranicheniya/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 23:23:46 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[IOS]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2364</guid>
		<description><![CDATA[Сняты ограничения на доступ в аппстор IOS-приложений, созданных при помощи сторонних средств разработки — таких, например, как флеш.
Этот факт остаётся странным образом невидимым для «технических экспертов», с жаром доказывавших недавно необходимость и логичность таких ограничений.
Ну ничего, придумают что-нибудь. Пипл в демагогии всё равно слабо разбирается — схавает как-нибудь.
А мне подачки эпплов не нужны. Сняли они ограничения, понимаешь. Я уже [...]]]></description>
			<content:encoded><![CDATA[<p>Сняты ограничения на доступ в аппстор IOS-приложений, созданных при помощи сторонних средств разработки — таких, например, как флеш.</p>
<p>Этот факт остаётся странным образом невидимым для «технических экспертов», с жаром доказывавших недавно необходимость и логичность таких ограничений.</p>
<p>Ну ничего, придумают что-нибудь. Пипл в демагогии всё равно слабо разбирается — схавает как-нибудь.</p>
<p>А мне подачки эпплов не нужны. Сняли они ограничения, понимаешь. Я уже скилы по Objective C себе прокачал, можете свои ограничения и снятия засунуть себе обратно в лицензионное соглашение.</p>
<p>P.S. IOS отличная платформа для разработки, кстати.</p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/apple-snimaet-ogranicheniya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Кошерный HTML(5)</title>
		<link>http://malinnikov.ru/koshernyj-html5/</link>
		<comments>http://malinnikov.ru/koshernyj-html5/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 08:49:09 +0000</pubDate>
		<dc:creator>Павел Малинников</dc:creator>
				<category><![CDATA[Дневник]]></category>
		<category><![CDATA[Наблюдения]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[интернет-приложения]]></category>

		<guid isPermaLink="false">http://malinnikov.ru/?p=2258</guid>
		<description><![CDATA[Нужно делать приложение для айпада и айфона, документооборот. Всё это есть на флексе, но флеш на этих устройствах не работает, приходится искать какую-то замену.
Я считаю, что лучший вариант — это нативная разработка, но есть много вопросов по распространению приложения внутри компании и его обновления. У Эппла есть понятие in-house приложений для предприятий или вариант «вечного тестирования» по ad-hoc схеме, но, чтобы подать [...]]]></description>
			<content:encoded><![CDATA[<p>Нужно делать приложение для айпада и айфона, документооборот. Всё это есть на флексе, но флеш на этих устройствах не работает, приходится искать какую-то замену.</p>
<p>Я считаю, что лучший вариант — это нативная разработка, но есть много вопросов по распространению приложения внутри компании и его обновления. У Эппла есть понятие in-house приложений для предприятий или вариант «вечного тестирования» по ad-hoc схеме, но, чтобы подать заявку на Team-development, нужен <noindex><a href="http://developer.apple.com/support/iphone/enrollment.html#systemrequirements" target="_blank" class="extlink">ряд сведений о компании</a></noindex>, типа DUNS-номера и т.п, который нужно еще как-то получить. Кроме того, даже по ad-hoc схеме возможны неожиданные <noindex><a href="http://habrahabr.ru/blogs/iphone/57370/" target="_blank" class="extlink">нюансы</a></noindex>.</p>
<p>Это все реально, наверное, но бюрократию пока решил оставить на десерт, а пока посмотрел варианты безфлешовой разработки вебовских RIA.</p>
<p>Очень интересный фрейморк <noindex><a href="http://cappuccino.org/" class="extlink">Cappuccino</a></noindex>. Люди понимают, что для серьёзных разработок без полноценного ООП не обойтись, используют надстройку над JS — ObjectiveJ. В результате HTML+JS.</p>
<p class="noimgshadow" style="text-align: center;"><img src="http://lh3.ggpht.com/_WB6KL0U2lTQ/S9Ksk8x5b1I/AAAAAAAAAYI/9XXcJCPiP70/HomeScreenshot%5B1%5D.png" alt="" width="600" height="423" /></p>
<p>Интересно визуально и с техничесой точки зрения. К сожалению, на десктопе под виндовс приложение с несколькими гридами и диалогами потребляет больше проц. времени, чем аналогичное флексовое. Пользователь оценивает степень интерактивности словами «зачётно тормозит».</p>
<p>Для айфона же использовать его вообще пока не удалось — сафари завершает загрузку страницы по таймауту, на дождавшись старта самого приложения. На айпаде, вроде бы, <noindex><a href="http://groups.google.com/group/objectivej/browse_thread/thread/12496e860869dfdc/f485f16e93662a89?lnk=gst&amp;q=ipad#" target="_self" class="extlink">то же самое</a></noindex>.</p>
<p>Есть надежда на <noindex><a href="http://iwebkit.net/" target="_blank" class="extlink">iWebKIt</a></noindex> или <noindex><a href="http://www.jqtouch.com/" target="_blank" class="extlink">что-то подобное</a></noindex>, это хоть как-то работает, хотя простейшие демки находятся на грани, после которой нормальная работа заканчивается. Пока не знаю, как он потянет реальные формы.</p>
<p>Есть еще <noindex><a href="http://touch.sproutcore.com/hedwig/" class="extlink">SproutCore</a></noindex>, на айфоне выглядит примерно так:</p>
<p><img class="aligncenter" src="http://lh4.ggpht.com/_WB6KL0U2lTQ/S9KgytiDz6I/AAAAAAAAAYE/sU7Ygh0sLaU/IMG_6001.jpg" alt="" width="320" height="480" /></p>
<p>Одним словом, производительность и качество связки HTML+JS для RIA на айфон/айпад требует значительного улучшения. Буду рад ошибаться, может быть, есть другие фреймворки, получше. Иначе придётся писать на чистом js, без фреймворков вообще, борясь за производительность.</p>
<p>В будущем все улучшится, неверное. Но точка зрения, представляющая флеш, как основной источник «тормозов» в вебе, а HTML+JS в качестве спасителя Зорро  на белом коне, чересчур оптимистична.</p>
]]></content:encoded>
			<wfw:commentRss>http://malinnikov.ru/koshernyj-html5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

