<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rss [<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">]>
<rss version="0.92" xml:base="http://www.anjlab.com">
<channel>
 <title>AnjLab Blog | AnjLab  - software development team - </title>
 <link>http://www.anjlab.com</link>
 <description>AnjLab news and viewsВ этом разделе транслируются сообщения, которые участники команды размещают на своих персональных блогах.


</description>
 <language>en</language>
<item>
 <title>Mechanize и кодировки</title>
 <link>http://yurykorolev.blogspot.com/2008/10/harvester-data.html</link>
 <description>&lt;div class=&#039;posterous_autopost&#039;&gt;Для скинскрепинга мы используем &lt;a href=&quot;http://mechanize.rubyforge.org/mechanize/&quot;&gt;mechanize&lt;/a&gt;. В mechainizе все просто замечательно, если парсить сайты, которые отдают контент в ASCII или UTF-8 кодировках. Но если, попробовать отпарсить сайт в windows-1251 кодировке, то mechanize/nokogiri лажают.&lt;p /&gt;&lt;div&gt;Например, если сделать запрос к &lt;a href=&quot;http://kinopoisk.ru&quot;&gt;kinopoisk.ru&lt;/a&gt;,  то получим непонятный результат:&lt;/div&gt;&lt;div&gt;Код:&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;data syntax type-ruby&quot;&gt;  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class=&quot;line_numbers&quot;&gt;&lt;span rel=&quot;#L1&quot; id=&quot;LID1&quot;&gt;1&lt;/span&gt; &lt;span rel=&quot;#L2&quot; id=&quot;LID2&quot;&gt;2&lt;/span&gt; &lt;span rel=&quot;#L3&quot; id=&quot;LID3&quot;&gt;3&lt;/span&gt; &lt;span rel=&quot;#L4&quot; id=&quot;LID4&quot;&gt;4&lt;/span&gt; &lt;span rel=&quot;#L5&quot; id=&quot;LID5&quot;&gt;5&lt;/span&gt; &lt;span rel=&quot;#L6&quot; id=&quot;LID6&quot;&gt;6&lt;/span&gt; &lt;span rel=&quot;#L7&quot; id=&quot;LID7&quot;&gt;7&lt;/span&gt; &lt;span rel=&quot;#L8&quot; id=&quot;LID8&quot;&gt;8&lt;/span&gt; &lt;span rel=&quot;#L9&quot; id=&quot;LID9&quot;&gt;9&lt;/span&gt; &lt;span rel=&quot;#L10&quot; id=&quot;LID10&quot;&gt;10&lt;/span&gt; &lt;span rel=&quot;#L11&quot; id=&quot;LID11&quot;&gt;11&lt;/span&gt; &lt;span rel=&quot;#L12&quot; id=&quot;LID12&quot;&gt;12&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width=&quot;100%&quot;&gt;  &lt;div class=&quot;highlight&quot;&gt;&lt;pre /&gt;&lt;div class=&quot;line&quot; id=&quot;LC1&quot;&gt;&lt;span class=&quot;c1&quot;&gt;#encoding: utf-8&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC2&quot;&gt;&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;mechanize&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC3&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC4&quot;&gt;&lt;span class=&quot;no&quot;&gt;KINOPOISK_SEARCH_URL&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;http://kinopoisk.ru/index.php?kp_query=&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC5&quot;&gt;&lt;span class=&quot;n&quot;&gt;query&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;терминатор&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC6&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC7&quot;&gt;&lt;span class=&quot;n&quot;&gt;agent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Mechanize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;new&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC8&quot;&gt;&lt;span class=&quot;n&quot;&gt;agent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;KINOPOISK_SEARCH_URL&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;encode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;windows-1251&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC9&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC10&quot;&gt;&lt;span class=&quot;n&quot;&gt;agent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;page&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;search&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;td.news[width]&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC11&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;nb&quot;&gt;puts&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;at&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;.all&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;content&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC12&quot;&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/div&gt; &lt;div&gt;результат:&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;data syntax type-text&quot;&gt;  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class=&quot;line_numbers&quot;&gt;&lt;span rel=&quot;#L1&quot; id=&quot;LID1&quot;&gt;1&lt;/span&gt; &lt;span rel=&quot;#L2&quot; id=&quot;LID2&quot;&gt;2&lt;/span&gt; &lt;span rel=&quot;#L3&quot; id=&quot;LID3&quot;&gt;3&lt;/span&gt; &lt;span rel=&quot;#L4&quot; id=&quot;LID4&quot;&gt;4&lt;/span&gt; &lt;span rel=&quot;#L5&quot; id=&quot;LID5&quot;&gt;5&lt;/span&gt; &lt;span rel=&quot;#L6&quot; id=&quot;LID6&quot;&gt;6&lt;/span&gt; &lt;span rel=&quot;#L7&quot; id=&quot;LID7&quot;&gt;7&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width=&quot;100%&quot;&gt;  &lt;div class=&quot;highlight&quot;&gt;&lt;pre /&gt;&lt;div class=&quot;line&quot; id=&quot;LC1&quot;&gt;Òåðìèíàòîð&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC2&quot;&gt;Òåðìèíàòîð: Äà ïðèä¸ò ñïàñèòåëü&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC3&quot;&gt;Òåðìèíàòîð 2: Ñóäíûé äåíü&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC4&quot;&gt;Òåðìèíàòîð 3: Âîññòàíèå ìàøèí&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC5&quot;&gt;Òåðìèíàòîð: Áèòâà çà áóäóùåå (ñåðèàë)&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC6&quot;&gt;Òåðìèíàòîð 2 - 3D&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC7&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/div&gt;&lt;p /&gt;&lt;div&gt;Решения в гугле найти не получилось, пробовали всяки манкипатчи, но как-то не очень красиво получалось :( &lt;/div&gt; &lt;div&gt;В итоге выкрутились через &lt;a href=&quot;http://mechanize.rubyforge.org/mechanize/Mechanize.html#M000225&quot;&gt;Mechanize#post_connect_hooks&lt;/a&gt;:&lt;/div&gt;&lt;div&gt;Добавили MechanizeEncodingHook&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;data syntax type-ruby&quot;&gt;  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class=&quot;line_numbers&quot;&gt;&lt;span rel=&quot;#L1&quot; id=&quot;LID1&quot;&gt;1&lt;/span&gt; &lt;span rel=&quot;#L2&quot; id=&quot;LID2&quot;&gt;2&lt;/span&gt; &lt;span rel=&quot;#L3&quot; id=&quot;LID3&quot;&gt;3&lt;/span&gt; &lt;span rel=&quot;#L4&quot; id=&quot;LID4&quot;&gt;4&lt;/span&gt; &lt;span rel=&quot;#L5&quot; id=&quot;LID5&quot;&gt;5&lt;/span&gt; &lt;span rel=&quot;#L6&quot; id=&quot;LID6&quot;&gt;6&lt;/span&gt; &lt;span rel=&quot;#L7&quot; id=&quot;LID7&quot;&gt;7&lt;/span&gt; &lt;span rel=&quot;#L8&quot; id=&quot;LID8&quot;&gt;8&lt;/span&gt; &lt;span rel=&quot;#L9&quot; id=&quot;LID9&quot;&gt;9&lt;/span&gt; &lt;span rel=&quot;#L10&quot; id=&quot;LID10&quot;&gt;10&lt;/span&gt; &lt;span rel=&quot;#L11&quot; id=&quot;LID11&quot;&gt;11&lt;/span&gt; &lt;span rel=&quot;#L12&quot; id=&quot;LID12&quot;&gt;12&lt;/span&gt; &lt;span rel=&quot;#L13&quot; id=&quot;LID13&quot;&gt;13&lt;/span&gt; &lt;span rel=&quot;#L14&quot; id=&quot;LID14&quot;&gt;14&lt;/span&gt; &lt;span rel=&quot;#L15&quot; id=&quot;LID15&quot;&gt;15&lt;/span&gt; &lt;span rel=&quot;#L16&quot; id=&quot;LID16&quot;&gt;16&lt;/span&gt; &lt;span rel=&quot;#L17&quot; id=&quot;LID17&quot;&gt;17&lt;/span&gt; &lt;span rel=&quot;#L18&quot; id=&quot;LID18&quot;&gt;18&lt;/span&gt; &lt;span rel=&quot;#L19&quot; id=&quot;LID19&quot;&gt;19&lt;/span&gt; &lt;span rel=&quot;#L20&quot; id=&quot;LID20&quot;&gt;20&lt;/span&gt; &lt;span rel=&quot;#L21&quot; id=&quot;LID21&quot;&gt;21&lt;/span&gt; &lt;span rel=&quot;#L22&quot; id=&quot;LID22&quot;&gt;22&lt;/span&gt; &lt;span rel=&quot;#L23&quot; id=&quot;LID23&quot;&gt;23&lt;/span&gt; &lt;span rel=&quot;#L24&quot; id=&quot;LID24&quot;&gt;24&lt;/span&gt; &lt;span rel=&quot;#L25&quot; id=&quot;LID25&quot;&gt;25&lt;/span&gt; &lt;span rel=&quot;#L26&quot; id=&quot;LID26&quot;&gt;26&lt;/span&gt; &lt;span rel=&quot;#L27&quot; id=&quot;LID27&quot;&gt;27&lt;/span&gt; &lt;span rel=&quot;#L28&quot; id=&quot;LID28&quot;&gt;28&lt;/span&gt; &lt;span rel=&quot;#L29&quot; id=&quot;LID29&quot;&gt;29&lt;/span&gt; &lt;span rel=&quot;#L30&quot; id=&quot;LID30&quot;&gt;30&lt;/span&gt; &lt;span rel=&quot;#L31&quot; id=&quot;LID31&quot;&gt;31&lt;/span&gt; &lt;span rel=&quot;#L32&quot; id=&quot;LID32&quot;&gt;32&lt;/span&gt; &lt;span rel=&quot;#L33&quot; id=&quot;LID33&quot;&gt;33&lt;/span&gt; &lt;span rel=&quot;#L34&quot; id=&quot;LID34&quot;&gt;34&lt;/span&gt; &lt;span rel=&quot;#L35&quot; id=&quot;LID35&quot;&gt;35&lt;/span&gt; &lt;span rel=&quot;#L36&quot; id=&quot;LID36&quot;&gt;36&lt;/span&gt; &lt;span rel=&quot;#L37&quot; id=&quot;LID37&quot;&gt;37&lt;/span&gt; &lt;span rel=&quot;#L38&quot; id=&quot;LID38&quot;&gt;38&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width=&quot;100%&quot;&gt;  &lt;div class=&quot;highlight&quot;&gt;&lt;pre /&gt;&lt;div class=&quot;line&quot; id=&quot;LC1&quot;&gt;&lt;span class=&quot;c1&quot;&gt;#encoding: utf-8&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC2&quot;&gt;&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;mechanize&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC3&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC4&quot;&gt;&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MechanizeEncodingHook&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC5&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;call&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC6&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:response&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nil?&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:response_body&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nil?&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC7&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC8&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;      &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:response&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC9&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;content_type&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Content-Type&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC10&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC11&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;internal_encoding&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Encoding&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;default_internal&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;to_s&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;downcase&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC12&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC13&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;charset&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;windows-1251&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC14&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;content_type&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nil?&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC15&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;charset&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;content_type&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(?&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;charset&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nil?&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC16&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC17&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;content_type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;content_type&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sub&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/charset=.*/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC18&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;s2&quot;&gt;&quot;charset=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;internal_encoding&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC19&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;#39;Content-Type&amp;#39;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;content_type&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC20&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC21&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;response_body&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;  &lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:response_body&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;].&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC22&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;force_encoding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC23&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;encode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;internal_encoding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC24&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;response_body&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[/&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#{charset}/] = internal_encoding&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC25&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:response_body&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response_body&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC26&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC27&quot;&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC28&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC29&quot;&gt;&lt;span class=&quot;no&quot;&gt;KINOPOISK_SEARCH_URL&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;http://kinopoisk.ru/index.php?kp_query=&quot;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC30&quot;&gt;&lt;span class=&quot;n&quot;&gt;query&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&amp;#39;терминатор&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC31&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC32&quot;&gt;&lt;span class=&quot;n&quot;&gt;agent&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Mechanize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;new&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC33&quot;&gt;&lt;span class=&quot;n&quot;&gt;agent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;post_connect_hooks&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;MechanizeEncodingHook&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;new&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC34&quot;&gt;&lt;span class=&quot;n&quot;&gt;agent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;KINOPOISK_SEARCH_URL&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;encode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;windows-1251&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC35&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC36&quot;&gt;&lt;span class=&quot;n&quot;&gt;agent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;page&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;search&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;td.news[width]&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;map&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC37&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;nb&quot;&gt;puts&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;at&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;.all&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;content&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC38&quot;&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/div&gt; &lt;div&gt;И в итоге получаем нормальный результат:&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;data syntax type-text&quot;&gt;  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt; &lt;tr&gt; &lt;td&gt; &lt;pre class=&quot;line_numbers&quot;&gt;&lt;span rel=&quot;#L1&quot; id=&quot;LID1&quot;&gt;1&lt;/span&gt; &lt;span rel=&quot;#L2&quot; id=&quot;LID2&quot;&gt;2&lt;/span&gt; &lt;span rel=&quot;#L3&quot; id=&quot;LID3&quot;&gt;3&lt;/span&gt; &lt;span rel=&quot;#L4&quot; id=&quot;LID4&quot;&gt;4&lt;/span&gt; &lt;span rel=&quot;#L5&quot; id=&quot;LID5&quot;&gt;5&lt;/span&gt; &lt;span rel=&quot;#L6&quot; id=&quot;LID6&quot;&gt;6&lt;/span&gt; &lt;span rel=&quot;#L7&quot; id=&quot;LID7&quot;&gt;7&lt;/span&gt; &lt;/pre&gt; &lt;/td&gt; &lt;td width=&quot;100%&quot;&gt;  &lt;div class=&quot;highlight&quot;&gt;&lt;pre /&gt;&lt;div class=&quot;line&quot; id=&quot;LC1&quot;&gt;Терминатор&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC2&quot;&gt;Терминатор: Да придёт спаситель&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC3&quot;&gt;Терминатор 2: Судный день&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC4&quot;&gt;Терминатор 3: Восстание машин&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC5&quot;&gt;Терминатор: Битва за будущее (сериал)&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC6&quot;&gt;Терминатор 2 - 3D&lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC7&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;  &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/7707384552387895298-3721551655326669175?l=yurykorolev.blogspot.com&#039; alt=&#039;&#039; /&gt;&lt;/div&gt;</description>
 <pubDate>Sun, 18 Jul 2010 14:03:00 +0400</pubDate>
</item>
<item>
 <title>AnjLab.FX Scheduler for ASP.NET</title>
 <link>http://feedproxy.google.com/~r/dmitrygusev/~3/qV0NNCMH2rA/anjlabfx-scheduler-for-aspnet.html</link>
 <description>If you need simple yet easy configurable scheduler in your ASP.NET application, AnjLab.FX Scheduler might be your choise.&lt;br /&gt;&lt;br /&gt;To use AnjLab.FX Scheduler you need to do 3 simple steps:&lt;br /&gt;&lt;br /&gt;&lt;ol start=&quot;0&quot;&gt;&lt;br /&gt;&lt;li&gt;Get the latest version of AnjLab.FX from &lt;a href=&quot;http://github.com/yury/anjlab.fx&quot;&gt;github&lt;/a&gt;, make a build and add AnjLab.FX.dll as a reference to your project;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Implement &lt;code&gt;AnjLab.FX.Sys.ICommand&lt;/code&gt; interface on your task workers&lt;/span&gt;, like this:&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 2.1.2&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;public&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;class&lt;/font&gt;&lt;/b&gt; HelloWorldTask &lt;font color=&quot;#990000&quot;&gt;:&lt;/font&gt; ICommand&lt;br /&gt;&lt;font color=&quot;#FF0000&quot;&gt;{&lt;/font&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;private&lt;/font&gt;&lt;/b&gt; &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;static&lt;/font&gt;&lt;/b&gt; readonly log4net&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;ILog Log &lt;font color=&quot;#990000&quot;&gt;=&lt;/font&gt; log4net&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;LogManager&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;GetLogger&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;typeof&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;HelloWorldTask&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;public&lt;/font&gt;&lt;/b&gt; &lt;font color=&quot;#009900&quot;&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;Execute&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;br /&gt;    &lt;font color=&quot;#FF0000&quot;&gt;{&lt;/font&gt;&lt;br /&gt;        Log&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;Info&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;&quot;Hello World!&quot;&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color=&quot;#FF0000&quot;&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#FF0000&quot;&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Configure tasks schedule in &lt;code&gt;web.config&lt;/code&gt;.&lt;/span&gt; To do this you need to:&lt;br /&gt;&lt;ol start=&quot;a&quot;&gt;&lt;br /&gt;&lt;li&gt;add the following line to &lt;code&gt;web.config/configuration/configSections&lt;/code&gt;:&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 2.1.2&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;font color=&quot;#000080&quot;&gt;&amp;lt;?xml&lt;/font&gt;&lt;/b&gt; version=&lt;font color=&quot;#FF0000&quot;&gt;&quot;&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;1.0&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;&quot;&lt;/font&gt; encoding=&lt;font color=&quot;#FF0000&quot;&gt;&quot;&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;UTF-8&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;&quot;&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#000080&quot;&gt;?&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;&amp;lt;configuration&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;&amp;lt;configSections&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;        ...&lt;br /&gt;        &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;&amp;lt;section&lt;/font&gt;&lt;/b&gt; name=&lt;font color=&quot;#FF0000&quot;&gt;&quot;&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;triggers&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;&quot;&lt;/font&gt; type=&lt;font color=&quot;#FF0000&quot;&gt;&quot;&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;AnjLab.FX.Tasks.Scheduling.SchedulerConfigSection, AnjLab.FX&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;&quot;&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;/&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;        ...&lt;/tt&gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;define &lt;code&gt;triggers&lt;/code&gt; section:&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 2.1.2&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;&amp;lt;configuration&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;  ...&lt;br /&gt;  &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;&amp;lt;triggers&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;    &lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;&amp;lt;!--&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;    &amp;lt;daily    tag=&#039;restoreDB&#039;    timeOfDay=&#039;23:00&#039;/&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;    &amp;lt;weekly   tag=&#039;backupDB&#039;     timeOfDay=&#039;01:30&#039; weekDays=&#039;monday,friday&#039;/&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;    &amp;lt;hourly   tag=&#039;delTempFiles&#039; minutes=&#039;30&#039;/&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;    &amp;lt;interval tag=&#039;dumpLog&#039;      interval=&#039;00:05:00&#039;/&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;    &amp;lt;once     tag=&#039;upgradeDB&#039;    dateTime=&#039;01/15/2007 23:00&#039;/&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;    &amp;lt;monthly  tag=&#039;archiveDB&#039;    monthDay=&#039;29&#039; timeOfDay=&#039;23:00&#039;/&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;    &lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;--&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;    &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;&amp;lt;interval&lt;/font&gt;&lt;/b&gt; tag=&#039;helloworld-task&#039; interval=&#039;00:00:10&#039;&lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;/&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;&amp;lt;/triggers&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;  ...&lt;br /&gt;&lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;&amp;lt;/configuration&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;Here we defined named trigger &quot;helloworld-task&quot; to be triggered every 10 seconds.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Map trigger names to your task workers and start up the scheduler.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To map your task workers you create instance of KeyedFactory and register your tasks. We propose you do this in &lt;code&gt;Global.asax&lt;/code&gt; &lt;code&gt;Application_Start&lt;/code&gt; method:&lt;br /&gt;&lt;br /&gt;&lt;!-- Generator: GNU source-highlight 2.1.2&lt;br /&gt;by Lorenzo Bettini&lt;br /&gt;http://www.lorenzobettini.it&lt;br /&gt;http://www.gnu.org/software/src-highlite --&gt;&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;protected&lt;/font&gt;&lt;/b&gt; &lt;font color=&quot;#009900&quot;&gt;void&lt;/font&gt; &lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;Application_Start&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;object sender&lt;font color=&quot;#990000&quot;&gt;,&lt;/font&gt; EventArgs e&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#FF0000&quot;&gt;{&lt;/font&gt;&lt;br /&gt;    &lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;//&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt; Map trigger names to task workers&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;    var factory &lt;font color=&quot;#990000&quot;&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;new&lt;/font&gt;&lt;/b&gt; KeyedFactory&lt;font color=&quot;#990000&quot;&gt;&amp;lt;&lt;/font&gt;string&lt;font color=&quot;#990000&quot;&gt;,&lt;/font&gt; ICommand&lt;font color=&quot;#990000&quot;&gt;&amp;gt;&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;;&lt;/font&gt;&lt;br /&gt;    factory&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;RegisterType&lt;font color=&quot;#990000&quot;&gt;&amp;lt;&lt;/font&gt;HelloWorldTask&lt;font color=&quot;#990000&quot;&gt;&amp;gt;&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;&quot;helloworld-task&quot;&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;i&gt;&lt;font color=&quot;#9A1900&quot;&gt;// Start up scheduler&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;    var scheduler &lt;font color=&quot;#990000&quot;&gt;=&lt;/font&gt; &lt;b&gt;&lt;font color=&quot;#0000FF&quot;&gt;new&lt;/font&gt;&lt;/b&gt; Scheduler&lt;font color=&quot;#990000&quot;&gt;&amp;lt;&lt;/font&gt;ICommand&lt;font color=&quot;#990000&quot;&gt;&amp;gt;&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;factory&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;br /&gt;    var triggers &lt;font color=&quot;#990000&quot;&gt;=&lt;/font&gt; &lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;List&lt;font color=&quot;#990000&quot;&gt;&amp;lt;&lt;/font&gt;ITrigger&lt;font color=&quot;#990000&quot;&gt;&amp;gt;&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;ConfigurationManager&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;GetSection&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#FF0000&quot;&gt;&quot;triggers&quot;&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    scheduler&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;RegisterTriggers&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;triggers&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;ToArray&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    scheduler&lt;font color=&quot;#990000&quot;&gt;.&lt;/font&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;Start&lt;/font&gt;&lt;/b&gt;&lt;font color=&quot;#990000&quot;&gt;(&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;)&lt;/font&gt;&lt;font color=&quot;#990000&quot;&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#FF0000&quot;&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Thats it!&lt;br /&gt;&lt;br /&gt;Resources:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;AnjLab.FX on github: &lt;a href=&quot;http://github.com/yury/anjlab.fx&quot;&gt;http://github.com/yury/anjlab.fx&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.rsdn.ru/article/patterns/KeyedFactory.xml&quot;&gt;Here&lt;/a&gt; is an article about KeyedFactory pattern in Russian&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;P.S.&lt;br /&gt;By the way, you can also use this API to schedule your tasks in Windows.Forms applications as well.&lt;br /&gt;&lt;br /&gt;P.P.S.&lt;br /&gt;AnjLab.FX is a framework we built during development of our projects. Its continue evolving and you can use it in your applications without any restrictions.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/25040534-1536218083141262518?l=dmitrygusev.blogspot.com&#039; alt=&#039;&#039; /&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?a=qV0NNCMH2rA:QMqpUsXpss8:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?i=qV0NNCMH2rA:QMqpUsXpss8:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?a=qV0NNCMH2rA:QMqpUsXpss8:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?a=qV0NNCMH2rA:QMqpUsXpss8:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/dmitrygusev/~4/qV0NNCMH2rA&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
 <pubDate>Wed, 28 Apr 2010 16:45:56 +0400</pubDate>
</item>
<item>
 <title>МОДИФИКАЦИЯ АЛГОРИТМА ТОРБЕНА ДЛЯ ПОИСКА МЕДИАНЫ В БОЛЬШОМ ОДНОМЕРНОМ МАССИВЕ</title>
 <link>http://feedproxy.google.com/~r/dmitrygusev/~3/zIsYCOFSr1A/blog-post.html</link>
 <description>Выкладываю статью, как и обещал в &lt;a href=&quot;http://dmitrygusev.blogspot.com/2010/01/histogram-based-median-search.html&quot;&gt;предыдущем посте&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;МОДИФИКАЦИЯ АЛГОРИТМА ТОРБЕНА ДЛЯ ПОИСКА МЕДИАНЫ В БОЛЬШОМ ОДНОМЕРНОМ МАССИВЕ&lt;br /&gt;Гусев Д.И.&lt;br /&gt;Владимирский государственный университет&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Аннотация&lt;/b&gt;&lt;br /&gt;В статье предлагается алгоритм поиска медианы, основанный на известном алгоритме Торбена. Особенностью обоих алгоритмов является то, что при поиске медианы они не требует изменения исходного массива и позволяют читать весь массив последовательно. Приводятся характеристики предлагаемого алгоритма, которые при определенных параметрах показывают производительность более 40% относительно алгоритма Торбена.&lt;br /&gt;&lt;br /&gt;Скачать: &lt;img style=&quot;border: 0px; width: 16px; height: 16px;&quot; src=&quot;http://sites.google.com/site/dmitrygusev/system/app/images/attach_icons/icon_pdf.gif&quot; /&gt; &lt;a href=&quot;http://sites.google.com/site/dmitrygusev/histogram-based-median-search.pdf?attredirects=0&amp;d=1&quot;&gt;Текст статьи&lt;/a&gt; (241 КБ)&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/25040534-4170938066875632518?l=dmitrygusev.blogspot.com&#039; alt=&#039;&#039; /&gt;&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?a=zIsYCOFSr1A:ReOSVgzQj08:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?i=zIsYCOFSr1A:ReOSVgzQj08:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?a=zIsYCOFSr1A:ReOSVgzQj08:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?a=zIsYCOFSr1A:ReOSVgzQj08:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/dmitrygusev?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/dmitrygusev/~4/zIsYCOFSr1A&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
 <pubDate>Wed, 28 Apr 2010 15:36:00 +0400</pubDate>
</item>
<item>
 <title>C#: RefreshSection method of ConfigurationManager is not refreshing sections under debug mode</title>
 <link>http://zhebrun.blogspot.com/2007/10/converting-object-collection-to.html</link>
 <description>RefreshSection method of ConfigurationManager is not refreshing sections when you run application at Visual Studio. Try to run application without VS.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&#039;1&#039; height=&#039;1&#039; src=&#039;https://blogger.googleusercontent.com/tracker/1376361569711944681-1058313331807553685?l=zhebrun.blogspot.com&#039; alt=&#039;&#039; /&gt;&lt;/div&gt;</description>
 <pubDate>Tue, 13 Apr 2010 14:52:00 +0400</pubDate>
</item>
</channel>
</rss>
