<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
<channel>
  <title>&quot;I am only an egg.&quot;</title>
  <link>http://vorotylo.livejournal.com/</link>
  <description>&quot;I am only an egg.&quot; - LiveJournal.com</description>
  <lastBuildDate>Thu, 28 Feb 2008 14:48:38 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>vorotylo</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>http://p-userpic.livejournal.com/42431098/9662003</url>
    <title>&quot;I am only an egg.&quot;</title>
    <link>http://vorotylo.livejournal.com/</link>
    <width>100</width>
    <height>70</height>
  </image>

<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/49409.html</guid>
  <pubDate>Thu, 28 Feb 2008 14:48:38 GMT</pubDate>
  <title>custom feed</title>
  <link>http://vorotylo.livejournal.com/49409.html</link>
  <description>Господа народ,&lt;br /&gt;&lt;br /&gt;а подскажите, пожалуйста, есть ли в природе сервис аналогичный &lt;a href=&quot;http://pipes.yahoo.com/pipes/&quot;&gt;Yahoo Pipes&lt;/a&gt;, но Не! От! Yahoo!?&lt;br /&gt;&lt;br /&gt;Я просто забыл свой яху ID, а их password restoration система надо мной издевается...&lt;br /&gt;&lt;br /&gt;(Хочу сделать себе custom &lt;abbr title=&quot;Atom/RSS syndicate&quot;&gt;feed&lt;/abbr&gt; из haskell-cafe по ключевому слову &quot;job&quot;.)</description>
  <comments>http://vorotylo.livejournal.com/49409.html</comments>
  <category>questions</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/49251.html</guid>
  <pubDate>Tue, 12 Feb 2008 08:33:57 GMT</pubDate>
  <title>UFO soundtrack</title>
  <link>http://vorotylo.livejournal.com/49251.html</link>
  <description>&lt;p&gt;Народ,&lt;/p&gt;

&lt;p&gt;есть ли у кого саундтрек к `X-COM: UFO Defense&apos;?..&lt;/p&gt;

&lt;p&gt;Буду очень признателен. &lt;a href=&quot;http://groups.google.com/group/rec.games.video.sony/browse_thread/thread/29a2a89437338217/829398cd594c72e6?lnk=st#829398cd594c72e6&quot;&gt;Хвалят&lt;/a&gt; его. :)&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/49251.html</comments>
  <category>soundtracks</category>
  <category>games</category>
  <category>music</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/48929.html</guid>
  <pubDate>Sat, 09 Feb 2008 22:32:55 GMT</pubDate>
  <title>dl</title>
  <link>http://vorotylo.livejournal.com/48929.html</link>
  <description>&lt;a href=&quot;http://lucidmedia.blogspot.com/&quot;&gt;http://lucidmedia.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Симпатичный ресурс, на котором нашелся саундтрек к моему любимому &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Hobbit_(1977_film)&quot;&gt;The Hobbit&lt;/a&gt; (мульт. 1977 года).&lt;br /&gt;&lt;br /&gt;Пробегитесь глазами, вдруг какую музыку себе найдете.</description>
  <comments>http://vorotylo.livejournal.com/48929.html</comments>
  <category>music</category>
  <category>urls</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/48737.html</guid>
  <pubDate>Fri, 08 Feb 2008 13:57:31 GMT</pubDate>
  <title>audioscrobbler: problem and solution</title>
  <link>http://vorotylo.livejournal.com/48737.html</link>
  <description>&lt;p&gt;Several days ago (~05 Feb 2008) scrobbling audio tracks to last.fm
stopped working.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.last.fm/help/&quot;&gt;What is scrobbling?&lt;/a&gt;&lt;/p&gt;

  &lt;blockquote&gt;&quot;Scrobbling a song means that when you listen to it, the
  name of the song is sent to Last.fm and added to your music
  profile.&quot;&lt;/blockquote&gt;

&lt;p&gt;Yep. I listen to music, a player sends track names to some server
(&lt;tt&gt;post2.audioscrobbler.com&lt;/tt&gt;), and you can see nice charts on
my profile page.&lt;/p&gt;

&lt;p&gt;Everything works fine until it breaks.&lt;/p&gt;

&lt;p&gt;I suspected firewall (&lt;tt&gt;iptables&lt;/tt&gt;) that had been enabled
recently. But even without any firewall my player
(&lt;tt&gt;amarok&lt;/tt&gt;) continued displaying &quot;Failed to submit several
tracks to last.fm&quot; error.&lt;/p&gt;

&lt;p&gt;Fortunately, enforced with network tools (&lt;tt&gt;tcpdump&lt;/tt&gt; and
&lt;tt&gt;wireshark&lt;/tt&gt;), I&apos;ve found the proper google search keyword -
&lt;tt&gt;BADAUTH&lt;/tt&gt; - located  in HTTP server response.&lt;/p&gt;

&lt;p&gt;Googling was fruitful this time:
&lt;a href=&quot;http://www.last.fm/forum/34905/_/368873/2#f5748517&quot;&gt;the
solution&lt;/a&gt; is to reset [the same] password at last.fm site.

  &lt;blockquote&gt;&quot;The reason for this was said to be that the hash on
  last.fm database for our password was corrupted due to some update
  on their database or something, so if you retype the password it
  should work.&quot;&lt;/blockquote&gt;

Happy scrobbling!</description>
  <comments>http://vorotylo.livejournal.com/48737.html</comments>
  <category>unix</category>
  <category>last.fm</category>
  <category>music</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/48388.html</guid>
  <pubDate>Thu, 24 Jan 2008 13:59:59 GMT</pubDate>
  <title>enlarge your Haskell</title>
  <link>http://vorotylo.livejournal.com/48388.html</link>
  <description>&lt;p&gt;Меня очень напрягает дурная работа и дурной язык программирования C++.
За это платят, но беспросвет угнетающий.&lt;/p&gt;

&lt;p&gt;Я очень хочу найти работу Haskell программиста. Только мне вначале
нужно подтянуться, побольше на нем покодить... Трудно время
находить - рутина высасывает энергию, - но нужно, иначе ж как.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://reddit.com/r/programming/info/5yciu/comments/c029buc&quot;&gt;* Ask Reddit: How do I get a job hacking Haskell all day?&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/48388.html</comments>
  <category>c++</category>
  <category>job</category>
  <category>life</category>
  <category>haskell</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/48284.html</guid>
  <pubDate>Tue, 15 Jan 2008 09:02:48 GMT</pubDate>
  <title>()</title>
  <link>http://vorotylo.livejournal.com/48284.html</link>
  <description>&lt;p&gt;Последнее сообщение &lt;a href=&quot;http://vorotylo.livejournal.com/47434.html&quot;&gt;викингов&lt;/a&gt;: &lt;em&gt;&quot;ВАЖНО! Опрос по ценностям бренда и лидерства&quot;...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Отправляю их в Валгаллу: нечего Кобейна перекрывать.&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/48284.html</comments>
  <category>()</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/48054.html</guid>
  <pubDate>Sat, 05 Jan 2008 21:49:44 GMT</pubDate>
  <title>Cursor*10</title>
  <link>http://vorotylo.livejournal.com/48054.html</link>
  <description>Народ, побавтесь:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.nekogames.jp/mt/2008/01/cursor10.html&quot;&gt;&lt;img src=&quot;http://www.ljplus.ru/img4/v/o/vorotylo/cursor10.png&quot; width=&quot;304&quot; height=&quot;71&quot; alt=&quot;Cursor*10&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;[ via &lt;a href=&quot;http://gaming.reddit.com/info/64hy6/comments/&quot;&gt;http://gaming.reddit.com/info/64hy6/comments/&lt;/a&gt; ]&lt;/small&gt;</description>
  <comments>http://vorotylo.livejournal.com/48054.html</comments>
  <category>cursor</category>
  <category>games</category>
  <category>fun</category>
  <category>flash</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/47653.html</guid>
  <pubDate>Fri, 07 Dec 2007 15:53:31 GMT</pubDate>
  <title>DISCLAIMER</title>
  <link>http://vorotylo.livejournal.com/47653.html</link>
  <description>&lt;p&gt;Дорогие фрэнды!&lt;/p&gt;

&lt;p&gt;Если вы обнаружили, что я от вас отписался, НЕ СМЕЙТЕ забивать себе голову
вопросами &quot;а почему?&quot;, &quot;что я сделал не так?&quot; и т.п.&lt;/p&gt;

&lt;p&gt;&lt;ol&gt;
  &lt;li&gt;Я вас по-прежнему люблю.&lt;/li&gt;
  &lt;li&gt;Я вас читаю через &lt;a href=&quot;http://en.wikipedia.org/wiki/Google_Reader&quot;&gt;Google Reader&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Да идите в жопу! Что хочу, то и делаю.&lt;/li&gt;
&lt;/ol&gt;
;)
&lt;/p&gt;</description>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/47434.html</guid>
  <pubDate>Thu, 06 Dec 2007 15:56:02 GMT</pubDate>
  <title>having fun with spam</title>
  <link>http://vorotylo.livejournal.com/47434.html</link>
  <description>&lt;p&gt;Вы знаете, я теперь с нетерпением жду очередного бреда из
корпоративной спам-рассылки.&lt;/p&gt;

&lt;p&gt;Как только он приходит, викинги поют веселую песенку из
оригинального &lt;a href=&quot;http://en.wikipedia.org/wiki/Spam_(Monty_Python)&quot;&gt;монти
пайтоновского скетча&lt;/a&gt;. Достигается добавлением в &lt;tt&gt;~/.gnus.el&lt;/tt&gt;
следующих строчек:

&lt;pre style=&quot;overflow:auto; border:thin solid #808080;&quot;&gt;
(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;split-with-osd&lt;/span&gt; (split)
  (osd &lt;span class=&quot;string&quot;&gt;&quot;Mail&quot;&lt;/span&gt;)
  split)

(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;split-with-vikings&lt;/span&gt; (split)
  (start-process &lt;span class=&quot;string&quot;&gt;&quot;vikings&quot;&lt;/span&gt; nil &lt;span class=&quot;string&quot;&gt;&quot;play&quot;&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;-q&quot;&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;/home/vvv/downloads/spam-song.wav&quot;&lt;/span&gt;)
  split)

(setq nnmail-split-methods &apos;nnmail-split-fancy
      nnmail-split-fancy
      &apos;(| (from &lt;span class=&quot;string&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&lt;span class=&quot;regexp-grouping-backslash&quot;&gt;\\&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&lt;span class=&quot;regexp-grouping-construct&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;recruitment&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&lt;span class=&quot;regexp-grouping-backslash&quot;&gt;\\&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&lt;span class=&quot;regexp-grouping-construct&quot;&gt;|&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;fooincbreak&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&lt;span class=&quot;regexp-grouping-backslash&quot;&gt;\\&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&lt;span class=&quot;regexp-grouping-construct&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;@fooinc.com.ua&quot;&lt;/span&gt;
                (: split-with-vikings &lt;span class=&quot;string&quot;&gt;&quot;mail.spam&quot;&lt;/span&gt;))
          (to &lt;span class=&quot;string&quot;&gt;&quot;broadcast@fooinc.com.ua&quot;&lt;/span&gt; (: split-with-vikings &lt;span class=&quot;string&quot;&gt;&quot;mail.spam&quot;&lt;/span&gt;))
          (from &lt;span class=&quot;string&quot;&gt;&quot;servicedesk@fooinc.com.ua&quot;&lt;/span&gt; (: split-with-osd &lt;span class=&quot;string&quot;&gt;&quot;mail.sdesk&quot;&lt;/span&gt;))
          (: split-with-osd &lt;span class=&quot;string&quot;&gt;&quot;mail.misc&quot;&lt;/span&gt;)))
&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;Ссылки:&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.mailmsg.com/SPAM_python.htm&quot;&gt;песенка викингов&lt;/a&gt;
    (текст + .wav файл)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://community.livejournal.com/ru_emacs/11737.html&quot;&gt;
      функция &lt;tt&gt;`osd&apos;&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/47434.html</comments>
  <category>elisp</category>
  <category>spam</category>
  <category>fun</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/47164.html</guid>
  <pubDate>Wed, 05 Dec 2007 13:21:04 GMT</pubDate>
  <title>XXX</title>
  <link>http://vorotylo.livejournal.com/47164.html</link>
  <description>&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;
&lt;p&gt;Шутка.&lt;/p&gt;

&lt;p&gt;Просто, увидев кат с этим текстом во френдленте, я очень
удивился. У моей жены не настолько хорошо с английским.&lt;/p&gt;

&lt;p&gt;Клацнув, увидел интригующее:

&lt;table cellpadding=&quot;8&quot; cellspacing=&quot;0&quot; border=&quot;1&quot; style=&quot;background-color: #FFFFD4; border: 1px solid black; overflow:auto;&quot;&gt;
  &lt;tr&gt;&lt;td align=&quot;center&quot;&gt;&lt;h1&gt;18&lt;/h1&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;h1&gt;Adult Content Notice&lt;/h1&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;The content that you are about to view
      &lt;strong&gt;may contain material only suitable for adults&lt;/strong&gt;.
      To continue, you must confirm that you are at least 18 years of age.
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;p&gt;По ТТХ я прохожу, поэтому нажал кнопку &lt;em&gt;&quot;Yes, I am at least 18
years old.&quot;&lt;/em&gt; Открылся вчерашний пост моей жены, я его уже читал,
квадратных трехчленов не содержит...&lt;/p&gt;

&lt;p&gt;&lt;del&gt;Я так думаю, что LJ движок повёлся на присвоенный тэг &amp;mdash; &lt;span style=&quot;color:blue&quot;&gt;XX&lt;/span&gt;. Какой чудак, ей-богу. :)&lt;/del&gt;&lt;br /&gt;
&lt;b&gt;UPD:&lt;/b&gt; Оказалось, мой чудный половина сконфигурила себя во
&lt;a href=&quot;http://www.livejournal.ru/talk/themes/id/2755&quot;&gt;взрослые&lt;/a&gt;,
&quot;шоб всякие малолетки не лазили&quot;... Вернее, чтобы лазили, но сначала на
кнопочку нажимали.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;PS:&lt;/b&gt; И раз уж я взялся бложить о блогах, то не могу не
показать &lt;a href=&quot;http://habrahabr.ru/blog/web_2_0/31897.html&quot;&gt;весёлую
песенку&lt;/a&gt;. Тоже на английском (как кстати!)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;PPS:&lt;/b&gt; Пошлить, так пошлить. Отгадайте, кто это: красный, с яичками?
&lt;small&gt;[&lt;a href=&quot;http://www.mts.com.ua/&quot; title=&quot;логотип МТС&quot;&gt;ответ&lt;/a&gt;]&lt;/small&gt;&lt;/p&gt;
</description>
  <comments>http://vorotylo.livejournal.com/47164.html</comments>
  <category>wtf</category>
  <category>fun</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/47091.html</guid>
  <pubDate>Mon, 26 Nov 2007 14:08:30 GMT</pubDate>
  <title>Корпоративный слалом</title>
  <link>http://vorotylo.livejournal.com/47091.html</link>
  <description>Двери открываются одна за другой и народ начинает массово выходить в коридор, по которому ты пытаешься пройти с чашкой горячего чая (NB: зеленый практически не отстирывается).</description>
  <comments>http://vorotylo.livejournal.com/47091.html</comments>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/46634.html</guid>
  <pubDate>Mon, 26 Nov 2007 13:38:04 GMT</pubDate>
  <link>http://vorotylo.livejournal.com/46634.html</link>
  <description>&lt;p&gt;Пора перестать париться. Нельзя ожидать разумного поведения от людей,
которые не могут попасть в унитаз и не сливают за собой.&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://dilbert.com/comics/dilbert/archive/images/dilbert200711295245.jpg&quot;&gt;Dilbert: Progress&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://dilbert.com/comics/dilbert/archive/images/dilbert2666700071126.gif&quot;&gt;Dilbert: Agile Programming&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;:)&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/46634.html</comments>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/46538.html</guid>
  <pubDate>Wed, 14 Nov 2007 16:25:36 GMT</pubDate>
  <title>feeling smuggy smug smug smug</title>
  <link>http://vorotylo.livejournal.com/46538.html</link>
  <description>&lt;p&gt;Господин назначил меня любимой женой!
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://thread.gmane.org/gmane.comp.lang.haskell.xmonad/3327&quot;&gt;http://thread.gmane.org/gmane.comp.lang.haskell.xmonad/3327&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://thread.gmane.org/gmane.comp.lang.haskell.xmonad/3328&quot;&gt;http://thread.gmane.org/gmane.comp.lang.haskell.xmonad/3328&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;:)&lt;/p&gt;

&lt;p&gt;&lt;small&gt;(Subject &lt;a href=&quot;http://www.joelonsoftware.com/items/2007/09/18.html&quot;&gt;отсюда&lt;/a&gt;.)&lt;/small&gt;&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/46538.html</comments>
  <category>hacking</category>
  <category>fun</category>
  <category>haskell</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/46204.html</guid>
  <pubDate>Wed, 14 Nov 2007 09:01:45 GMT</pubDate>
  <title>word of the day</title>
  <link>http://vorotylo.livejournal.com/46204.html</link>
  <description>&lt;pre&gt;From &lt;a href=&quot;http://en.wikipedia.org/wiki/Jargon_file&quot; style=&quot;border-bottom-style:none&quot;&gt;Jargon File&lt;/a&gt; (4.4.4, 14 Aug 2003) [jargon]:

creationism
 n.

   The (false) belief that large, innovative software designs can be
   completely specified in advance and then painlessly magicked out of
   the void by the normal efforts of a team of normally talented
   programmers. In fact, experience has shown repeatedly that good
   designs arise only from evolutionary, exploratory interaction between
   one (or at most a small handful of) exceptionally able designer(s) and
   an active user population -- and that the first try at a big new idea
   is always wrong. Unfortunately, because these truths don&apos;t fit the
   planning models beloved of management, they are generally ignored.
&lt;/pre&gt;</description>
  <comments>http://vorotylo.livejournal.com/46204.html</comments>
  <category>words</category>
  <category>fun</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/46037.html</guid>
  <pubDate>Fri, 09 Nov 2007 20:25:49 GMT</pubDate>
  <title>:t randomJHacker</title>
  <link>http://vorotylo.livejournal.com/46037.html</link>
  <description>Try to find yourself:&lt;br /&gt;&lt;br /&gt;  &lt;a href=&quot;http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/&quot;&gt;http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;acronym title=&quot;a ninja&quot;&gt;:)&lt;/acronym&gt;</description>
  <comments>http://vorotylo.livejournal.com/46037.html</comments>
  <category>tests</category>
  <category>links</category>
  <category>fun</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/45644.html</guid>
  <pubDate>Mon, 05 Nov 2007 14:59:46 GMT</pubDate>
  <title>.py macros</title>
  <link>http://vorotylo.livejournal.com/45644.html</link>
  <description>Пишу тут юнит-тесты на Python и думаю, что язык очень выиграл бы, обзаведясь аналогом лисповых макросов...</description>
  <comments>http://vorotylo.livejournal.com/45644.html</comments>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/45388.html</guid>
  <pubDate>Mon, 29 Oct 2007 17:11:57 GMT</pubDate>
  <title>хозяйке на заметку</title>
  <link>http://vorotylo.livejournal.com/45388.html</link>
  <description>Чтобы смахнуть паутину с web-журнала, оставлю ссылку на &lt;a href=&quot;http://hpaste.org/3519&quot;&gt;охоту за азевайзом&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Другое... другоэ... асталъное... Пусть будет прочерк (&lt;tt&gt;_&lt;/tt&gt;).</description>
  <comments>http://vorotylo.livejournal.com/45388.html</comments>
  <category>code</category>
  <category>haskell</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/45111.html</guid>
  <pubDate>Fri, 26 Oct 2007 12:28:19 GMT</pubDate>
  <title>picture of the week</title>
  <link>http://vorotylo.livejournal.com/45111.html</link>
  <description>&lt;p style=&quot;overflow:auto&quot;&gt;&lt;a href=&quot;http://www.dilbert.com/comics/dilbert/archive/dilbert-20071026.html&quot;&gt;&lt;img src=&quot;http://www.dilbert.com/comics/dilbert/archive/images/dilbert2007114666026.gif&quot; alt=&quot;people who have time vs. people who have talent&quot; width=&quot;600&quot; height=&quot;210&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;;) Have fun.&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/45111.html</comments>
  <category>images</category>
  <category>job</category>
  <category>dilbert</category>
  <category>fun</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/44932.html</guid>
  <pubDate>Wed, 24 Oct 2007 08:28:11 GMT</pubDate>
  <title>import lists: explicit vs. implicit</title>
  <link>http://vorotylo.livejournal.com/44932.html</link>
  <description>&lt;p&gt;&lt;em&gt;Since the subject relates to holy wars, this post should stay in
personal blog. ;)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There is a rather active &lt;a href=&quot;http://tinyurl.com/2xnbpc&quot;&gt;thread&lt;/a&gt; in xmonad mailing list,
concerning Haskell coding style guidelines. And a question about what kind
of import lists is preferable - implicit or explicit - has been raised in
particular.&lt;/p&gt;

&lt;p&gt;I choose not to use explicit import lists. They are tedious to
write, they lead to code which looks dirty, and they are headache to
maintain.&lt;/p&gt;

&lt;p&gt;And I don&apos;t agree with the argument that it is hard to find a
particular definition without explicit lists. It is not. When a code
is loaded into ghci, I can use the &lt;tt&gt;:info&lt;/tt&gt; command to find
a definition. I can use &lt;tt&gt;etags&lt;/tt&gt; (&lt;tt&gt;ctags&lt;/tt&gt;?) to jump
between symbols in my favorite editor. And when I am stuck (or lazy),
I use &lt;tt&gt;hoogle&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;It is so simple, it should stay that way. Let compiler do its job.&lt;/p&gt;
&lt;img src=&quot;http://tinyurl.com/ywh4tm&quot; alt=&quot;Lilliput and Blefuscu&quot; /&gt;</description>
  <comments>http://vorotylo.livejournal.com/44932.html</comments>
  <category>code</category>
  <category>haskell</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/44592.html</guid>
  <pubDate>Tue, 23 Oct 2007 16:02:06 GMT</pubDate>
  <title>Kestrel</title>
  <link>http://vorotylo.livejournal.com/44592.html</link>
  <description>&lt;p&gt;&lt;del&gt;Народ, засуньте свои броузеры в XXX &amp;mdash; у Opera теперь есть &lt;a href=&quot;http://www.opera.com/products/desktop/next/index.dml&quot;&gt;синхронизация табов через Web&lt;/a&gt;!&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;small&gt;Feel free to leave your comments below. :)&lt;/small&gt;&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;&lt;b&gt;UPD:&lt;/b&gt; Нет, не табов. :( Только bookmarks, personal bar и speed dial.&lt;br /&gt;Bloody browser.&lt;p&gt;</description>
  <comments>http://vorotylo.livejournal.com/44592.html</comments>
  <category>opera</category>
  <category>web</category>
  <lj:mood>прэкрасное</lj:mood>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/44357.html</guid>
  <pubDate>Fri, 05 Oct 2007 16:26:07 GMT</pubDate>
  <title>Key That Was Lost, Galbadia</title>
  <link>http://vorotylo.livejournal.com/44357.html</link>
  <description>&lt;p&gt;Не знаю, как кому, а мне иногда приятно слушать саунтреки к когда-то
игранным компьютерным игрушкам. И сайт присмотрел, где этих саунтреков
валом &amp;mdash; &lt;a href=&quot;http://gh.ffshrine.org/&quot;&gt;Galbadia Hotel&lt;/a&gt;. Одно плохо &amp;mdash;
выкачивать неудобно.&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;
&lt;p&gt;Расскажу, в чем трудность. Выбрав саунтрек, вы попадаете на
&lt;a href=&quot;http://gh.ffshrine.org/soundtracks/3574&quot;&gt;страничку со списком&lt;/a&gt; .mp3
файлов. Скачать все сразу нельзя &amp;mdash; сайтодержцы проводят какую-то
мутную политику completely free регистрации. Заветная кнопка &quot;скачать
все&quot; не появляется, а ваш email улетает в неизвестном направлении.&lt;a name=&quot;_ref-1&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#_note-1&quot; title=&quot;&quot; style=&quot;text-decoration:none&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Выходи по одному? Попробуем. Кликаем &quot;песенка 1&quot;. Открывается
страничка первого .mp3, на ней &amp;mdash; волшебная &quot;click here&quot; to
download. Нажали, save, переключились с вкладки Transfers (у меня
Opera), back на список треков. 5 кликов на файл, это для Fallout2 = 95
мышкокликов с промежуточным прицеливанием (для Tomb Raider game rip &amp;mdash;
160).&lt;/p&gt;

&lt;p&gt;Одну песенку тяну, на другую смотрю, третью примечаю, четвертая
мерещится... Нормальный человек на 94-м клике сломается и откроет HTML
списка файлов. Увидит, что URLы &quot;песенных&quot; страничек, хоть и
вперемешку, но придерживаются общего шаблона &amp;mdash;
&lt;tt&gt;/song/&amp;lt;id саундтрека&amp;gt;/&amp;lt;порядковый номер файла&amp;gt;&lt;/tt&gt;. Это хорошо, значит эти
страницы легко вынуть &lt;a href=&quot;http://www.gnu.org/software/wget/&quot;&gt;wget&lt;/a&gt;&apos;ом. Что дальше?&lt;/p&gt;

&lt;p&gt;Открываем HTML код песенной страницы, ищем &quot;click here&quot;. Гы, а его тут
нет.&lt;a name=&quot;_ref-2&quot;&gt;&lt;sup class=&quot;reference&quot;&gt;&lt;a href=&quot;#_note-2&quot; title=&quot;&quot; style=&quot;text-decoration:none&quot;&gt;[2]&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt; :) От соседей (&quot;begin downloading&quot;), по следу &apos;linkcode&apos;
выходим на что-то невыразимо прекрасное:&lt;/p&gt;

&lt;pre style=&quot;overflow:auto; border:thin solid #808080&quot;&gt;
&amp;lt;&lt;span class=&quot;function-name&quot;&gt;script&lt;/span&gt;&amp;gt;
                var data = &lt;span class=&quot;string&quot;&gt;&quot;var%20addr%20%3D%20%22http%3A%2F%2Fdl1.ffshrine.org%2Fsoundtracks%2Fdl%2F3574%2Fd3a00b%2FFallout%202%20Gamerip%2Fywnwm00_a_kiss_to_build_a_dream_on.mp3%22%3B%0Afunction%20decode%28address%29%20%7B%0Avar%20Address%20%3D%20%22%22%3B%0AAddress%20%3D%20address%3B%0AAddress%20%3D%20unescape%28Address%29%3B%0AAddress%20%3D%20Address.replace%28%2F%5C%2Fywnwm%2F%2C%20%22%2F%22%29%3B%0A%0A%0Afunction%20unescapesome%28thesome%29%20%7B%0A%09var%20newString%20%3D%20thesome%3B%0A%09newString%20%3D%20newString.replace%28%2F%253A%2Fg%2C%20%22%3A%22%29%3B%0A%09newString%20%3D%20newString.replace%28%2F%2527%2Fg%2C%20%22%27%22%29%3B%0A%09newString%20%3D%20newString.replace%28%2F%2528%2Fg%2C%20%22%28%22%29%3B%0A%09newString%20%3D%20newString.replace%28%2F%2529%2Fg%2C%20%22%29%22%29%3B%0A%09newString%20%3D%20newString.replace%28%2F%2521%2Fg%2C%20%22%21%22%29%3B%0A%09newString%20%3D%20newString.replace%28%2F%257E%2Fg%2C%20%22%7E%22%29%3B%0A%09return%20newString%3B%0A%7D%0A%0Adocument.getElementById%28%22linkcode%22%29.innerHTML%20%3D%20%22%3Ca%20href%3D%5C%22%22%20%2B%20unescapesome%28escape%28Address%29%29%20%2B%20%22%5C%22%3Eclick%20here%3C%2Fa%3E%22%3B%0A%7D%0A%0Adecode%28addr%29%3B%0A%0A%09%09&quot;&lt;/span&gt;;
                eval(unescape(data));
                &amp;lt;/&lt;span class=&quot;function-name&quot;&gt;script&lt;/span&gt;&amp;gt;
&lt;/pre&gt;

&lt;p&gt;Всё пропало! Холостяцким способом? Правой рукой по мышке?..&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://xkcd.com/208/&quot;&gt;Everybody stand back. I know regular expressions.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;pre style=&quot;overflow:auto; border:thin solid #808080&quot;&gt;
&lt;span class=&quot;comment-delimiter&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;!/usr/bin/env perl
&lt;/span&gt;
&lt;span class=&quot;comment-delimiter&quot;&gt;## &lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;Getting songs from http://gh.ffshrine.org/soundtracks/3574:
&lt;/span&gt;&lt;span class=&quot;comment-delimiter&quot;&gt;##&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;comment-delimiter&quot;&gt;## &lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;for n in `seq 1 19`; do \
&lt;/span&gt;&lt;span class=&quot;comment-delimiter&quot;&gt;##   &lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;wget -O - http://gh.ffshrine.org/song/3574/$n | ./gh.pl; \
&lt;/span&gt;&lt;span class=&quot;comment-delimiter&quot;&gt;## &lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;done | wget -i -
&lt;/span&gt;
&lt;span class=&quot;keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;strict&lt;/span&gt;;
&lt;span class=&quot;keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;warnings&lt;/span&gt;;
&lt;span class=&quot;keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;URI&lt;/span&gt;::Escape qw&lt;span class=&quot;string&quot;&gt;(uri_unescape)&lt;/span&gt;;

&lt;span class=&quot;type&quot;&gt;my&lt;/span&gt; (@&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;sloc&lt;/span&gt;&lt;/span&gt;, $&lt;span class=&quot;variable-name&quot;&gt;addr&lt;/span&gt;, @&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;decodings&lt;/span&gt;&lt;/span&gt;);

&lt;span class=&quot;keyword&quot;&gt;while&lt;/span&gt; (&amp;lt;&amp;gt;) {
    &lt;span class=&quot;keyword&quot;&gt;next&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;unless&lt;/span&gt; $&lt;span class=&quot;variable-name&quot;&gt;_&lt;/span&gt; =~ q&lt;span class=&quot;string&quot;&gt;/^\s*var data = &quot;(.*)&quot;;$/&lt;/span&gt;;
    @&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;sloc&lt;/span&gt;&lt;/span&gt; = split(&lt;span class=&quot;string&quot;&gt;&quot;\n&quot;&lt;/span&gt;, uri_unescape $&lt;span class=&quot;variable-name&quot;&gt;1&lt;/span&gt;);
    &lt;span class=&quot;keyword&quot;&gt;last&lt;/span&gt;;
}

&lt;span class=&quot;keyword&quot;&gt;sub&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;getAddr&lt;/span&gt;($) {
    &lt;span class=&quot;type&quot;&gt;my&lt;/span&gt; ($&lt;span class=&quot;variable-name&quot;&gt;ln&lt;/span&gt;) = @&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;_&lt;/span&gt;&lt;/span&gt;;
    &lt;span class=&quot;keyword&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;string&quot;&gt;&quot;Galbadia strikes back!\n$ln\n&quot;&lt;/span&gt;
        &lt;span class=&quot;keyword&quot;&gt;unless&lt;/span&gt; $&lt;span class=&quot;variable-name&quot;&gt;ln&lt;/span&gt; =~ &lt;span class=&quot;string&quot;&gt;/^var\ addr\ =\ (?:
                                       &quot;(.+)&quot;;         # 0. ready to use `addr&apos;
                                       |new\ Array\(\) # 1. to be gathered
                                      )$/&lt;/span&gt;x;
    &lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt; (defined $&lt;span class=&quot;variable-name&quot;&gt;1&lt;/span&gt; ? $&lt;span class=&quot;variable-name&quot;&gt;1&lt;/span&gt; : &lt;span class=&quot;string&quot;&gt;&quot;&quot;&lt;/span&gt;);
}

&lt;span class=&quot;keyword&quot;&gt;unless&lt;/span&gt; ($&lt;span class=&quot;variable-name&quot;&gt;addr&lt;/span&gt; = getAddr(shift @&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;sloc&lt;/span&gt;&lt;/span&gt;)) {
    $&lt;span class=&quot;variable-name&quot;&gt;addr&lt;/span&gt; .= $&lt;span class=&quot;variable-name&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;while&lt;/span&gt; (shift(@&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;sloc&lt;/span&gt;&lt;/span&gt;) =~ &lt;span class=&quot;string&quot;&gt;/^addr\[\d+\] = &quot;(.*)&quot;;$/&lt;/span&gt;);
}

&lt;span class=&quot;keyword&quot;&gt;foreach&lt;/span&gt; (@&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;sloc&lt;/span&gt;&lt;/span&gt;) {
    &lt;span class=&quot;keyword&quot;&gt;next&lt;/span&gt; &lt;span class=&quot;keyword&quot;&gt;unless&lt;/span&gt; m&lt;span class=&quot;string&quot;&gt;|^.+Address\.replace\(/(.+?)/g?, &quot;(.+?)&quot;\);$|&lt;/span&gt;;
    push @&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;decodings&lt;/span&gt;&lt;/span&gt;, [$&lt;span class=&quot;variable-name&quot;&gt;1&lt;/span&gt;,$&lt;span class=&quot;variable-name&quot;&gt;2&lt;/span&gt;];
}

$&lt;span class=&quot;variable-name&quot;&gt;addr&lt;/span&gt; =~ s&lt;span class=&quot;string&quot;&gt;/$_-&amp;gt;[0]/$_-&amp;gt;[1]/&lt;/span&gt;g &lt;span class=&quot;keyword&quot;&gt;foreach&lt;/span&gt; (@&lt;span class=&quot;underline&quot;&gt;&lt;span class=&quot;variable-name&quot;&gt;decodings&lt;/span&gt;&lt;/span&gt;);
print &lt;span class=&quot;string&quot;&gt;&quot;$addr\n&quot;&lt;/span&gt;;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Столько счастья. :&amp;quot;) А сайтодержцам можно показать большую дулю.&lt;/p&gt;

&lt;p&gt;P.S.: Как-нибудь однажды спросите меня, как я вышел на
&lt;a href=&quot;http://www.xav.com/perl/site/lib/URI/Escape.html&quot;&gt;uri_unescape()&lt;/a&gt;...&lt;/p&gt;

&lt;h4&gt;Примечания&lt;/h4&gt;

&lt;p&gt;&lt;ol&gt;
  &lt;li&gt; &lt;a name=&quot;_note-1&quot;&gt;&lt;a href=&quot;#_ref-1&quot; title=&quot;&quot; style=&quot;text-decoration:none&quot;&gt;&lt;sup&gt;&lt;i&gt;&lt;b&gt;^&lt;/b&gt;&lt;/i&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/a&gt; Наверняка он прилетит в БД спамеров, поэтому регистрируйтесь
  через &lt;del&gt;chroot-jail&lt;/del&gt; &lt;a href=&quot;http://www.google.com/search?q=temporary+email&quot;&gt; одноразовый email&lt;/a&gt;.&lt;/li&gt;

  &lt;li&gt; &lt;a name=&quot;_note-2&quot;&gt;&lt;a href=&quot;#_ref-2&quot; title=&quot;&quot; style=&quot;text-decoration:none&quot;&gt;&lt;sup&gt;&lt;i&gt;&lt;b&gt;^&lt;/b&gt;&lt;/i&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/a&gt; С заклавной буквы не считается.&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;* * *&lt;/div&gt;

&lt;p&gt;&lt;a name=&quot;upd-1&quot;&gt;&lt;b&gt;UPD:&lt;/b&gt;&lt;/a&gt; Ха! Алгоритм поменяли. :) &quot;Недельки&quot; у них, что ли...&lt;br /&gt;
Окей, Perl скрипт я обновил. [Sun, 07 Oct 2007 00:34:38 +0300]&lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;* * *&lt;/div&gt;

&lt;p&gt;&lt;a name=&quot;upd-2&quot;&gt;&lt;b&gt;UPD-2:&lt;/b&gt;&lt;/a&gt; Использовать &lt;tt&gt;eval&lt;/tt&gt; слишком &lt;a href=&quot;http://xkcd.com/327/&quot;&gt;стрёмно&lt;/a&gt; &amp;mdash; однажды напорешься на файл с именем &quot;rm -rf *&quot;. Thanks to &lt;span class=&apos;ljuser&apos; lj:user=&apos;xrgtn&apos; style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://xrgtn.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://p-stat.livejournal.com/img/userinfo.gif&apos; alt=&apos;[info]&apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://xrgtn.livejournal.com/&apos;&gt;&lt;b&gt;xrgtn&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;&lt;pre style=&quot;overflow:auto; border:thin solid #808080&quot;&gt;
&lt;span class=&quot;diff-context&quot;&gt;diff -rN -u old-Galbadia/gh.pl new-Galbadia/gh.pl
&lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;--- &lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;&lt;span class=&quot;diff-file-header&quot;&gt;old-Galbadia/gh.pl&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;  2007-10-08 15:54:17.197266795 +0300
+++ &lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;&lt;span class=&quot;diff-file-header&quot;&gt;new-Galbadia/gh.pl&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;  2007-10-08 15:54:17.197266795 +0300
&lt;/span&gt;&lt;span class=&quot;diff-hunk-header&quot;&gt;@@ -33,9 +33,9 @@&lt;/span&gt;
&lt;span class=&quot;diff-context&quot;&gt; }
 
 foreach (@sloc) {
&lt;/span&gt;&lt;span class=&quot;diff-indicator-removed&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;diff-removed&quot;&gt;    next unless s|^.+Address\.replace\(/(.+?)/(g?), &quot;(.+?)&quot;\);$|s{$1}{$3}$2|;
&lt;/span&gt;&lt;span class=&quot;diff-indicator-removed&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;diff-removed&quot;&gt;    push @decodings, $_;
&lt;/span&gt;&lt;span class=&quot;diff-indicator-added&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;diff-added&quot;&gt;    next unless m|^.+Address\.replace\(/(.+?)/g?, &quot;(.+?)&quot;\);$|;
&lt;/span&gt;&lt;span class=&quot;diff-indicator-added&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;diff-added&quot;&gt;    push @decodings, [$1,$2];
&lt;/span&gt;&lt;span class=&quot;diff-context&quot;&gt; }
 
&lt;/span&gt;&lt;span class=&quot;diff-indicator-removed&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;diff-removed&quot;&gt;eval &quot;\$addr =~ $_&quot; foreach (@decodings);
&lt;/span&gt;&lt;span class=&quot;diff-indicator-added&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;diff-added&quot;&gt;$addr =~ s/$_-&amp;gt;[0]/$_-&amp;gt;[1]/g foreach (@decodings);
&lt;/span&gt;&lt;span class=&quot;diff-context&quot;&gt; print &quot;$addr\n&quot;;
&lt;/span&gt;
&lt;/pre&gt;&lt;/p&gt;
</description>
  <comments>http://vorotylo.livejournal.com/44357.html</comments>
  <category>hacking</category>
  <category>code</category>
  <category>fun</category>
  <category>perl</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/44172.html</guid>
  <pubDate>Fri, 14 Sep 2007 06:39:14 GMT</pubDate>
  <title>find kiev -type company -print0 | xargs -0 grep -i haskell</title>
  <link>http://vorotylo.livejournal.com/44172.html</link>
  <description>Панове,&lt;br /&gt;а знаете ли вы в Киеве конторы, где на Haskell софт пишут?</description>
  <comments>http://vorotylo.livejournal.com/44172.html</comments>
  <category>job</category>
  <category>haskell</category>
  <lj:music>Radiohead - Airbag</lj:music>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/43938.html</guid>
  <pubDate>Fri, 27 Jul 2007 17:00:44 GMT</pubDate>
  <title>yet another message (not in the bottle this time)</title>
  <link>http://vorotylo.livejournal.com/43938.html</link>
  <description>&lt;p&gt;A friend of mine asked for some Haskell starter links for vacation reading. &lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;Here they go...&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;Places to start:
  &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.haskell.org/tutorial/&quot;&gt;a Gentle Introduction to Haskell 98&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;then some &lt;a href=&quot;http://en.wikibooks.org/wiki/Haskell/YAHT&quot;&gt;YAHT&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;and the `Gentle Introduction&apos; again (it&apos;s much &lt;em&gt;gentler&lt;/em&gt; now, have you noticed?)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.haskell.org/haskellwiki/IO_inside&quot;&gt;http://www.haskell.org/haskellwiki/IO_inside&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Short code examples you might be looking for:
  &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.haskell.org/haskellwiki/Simple_unix_tools&quot;&gt;http://www.haskell.org/haskellwiki/Simple_unix_tools&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;&quot;All-included&quot;:
  &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://en.wikibooks.org/wiki/Haskell&quot;&gt;Haskell wikibook&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Very good monadic reading:
  &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.haskell.org/all_about_monads/html/index.html&quot;&gt;All About Monads&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.en.html&quot;&gt;Monad Transformers Step by Step&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Join the mailing list..
  &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.haskell.org/mailman/listinfo/haskell-cafe&quot;&gt;haskell-cafe&lt;/a&gt; (the community is healthy here)&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;..and read some
  &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://sequence.complete.org/&quot;&gt;Haskell Weekly News&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Hoogle is a very useful tool
  &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://haskell.org/hoogle&quot;&gt;http://haskell.org/hoogle&lt;/a&gt;&lt;br /&gt;
  (you can install lambdabot and use hoogle offline)&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Libraries you shouldn&apos;t miss:
  &lt;ul&gt;&lt;li&gt;Parsec&lt;/li&gt;
  &lt;li&gt;QuickCheck&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;And the Glorious Haskell Compiler itself
  &lt;ul&gt;&lt;li&gt;ghc  (`g&apos; stands for `Glasgow&apos;, to be honest)&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;Welcome, hacker.&lt;br /&gt;
And have fun. ;)&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/43938.html</comments>
  <category>links</category>
  <category>haskell</category>
  <category>friends</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/43489.html</guid>
  <pubDate>Mon, 18 Jun 2007 09:00:39 GMT</pubDate>
  <title>()</title>
  <link>http://vorotylo.livejournal.com/43489.html</link>
  <description>&lt;p&gt;Довод в пользу QuickCheck &amp;mdash; &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomized_controlled_trial&quot;&gt;randomized controlled trial&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;&amp;lt;- &lt;a href=&quot;http://norvig.com/experiment-design.html&quot;&gt;norvig.com&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;blockquote&gt;&quot;Humans are very good at detecting patterns, but rather poor at detecting randomness.&quot;&lt;br /&gt;
-Peter Norvig, &quot;Mistakes in Experimental Design and Interpretation&quot;&lt;/blockquote&gt;

&lt;p&gt;&lt;small&gt;&amp;lt;- &lt;a href=&quot;http://science.reddit.com/info/1z5eb/comments&quot;&gt;science.reddit.com&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/43489.html</comments>
  <category>quotes</category>
  <category>links</category>
  <category>haskell</category>
  <lj:security>public</lj:security>
</item>
<item>
  <guid isPermaLink='true'>http://vorotylo.livejournal.com/43187.html</guid>
  <pubDate>Thu, 14 Jun 2007 13:49:41 GMT</pubDate>
  <title>Google Talk with emacs-jabber</title>
  <link>http://vorotylo.livejournal.com/43187.html</link>
  <description>&lt;p&gt;We did it!&lt;/p&gt;

&lt;p&gt;&quot;We&quot; includes my new friend Jun Jie: it&apos;s his &lt;a href=&quot;http://nanjj.blogspot.com/2007/06/emacs-jabber.html&quot;&gt;blog&lt;/a&gt; where I found the &lt;em&gt;missing variable&lt;/em&gt; (ta-dah!) &amp;mdash; &lt;tt&gt;jabber-network-server&lt;/tt&gt;.&lt;/p&gt;

(To self: &lt;a href=&quot;http://emacs-jabber.sourceforge.net/manual-0.7.1/Connection-settings.html&quot;&gt;RTFM&lt;/a&gt;, RTFM, MF!..)

&lt;p&gt;With new settings
&lt;pre class=&quot;overflow-border&quot;&gt;
(setq jabber-username &lt;span class=&quot;string&quot;&gt;&quot;valery.vv&quot;&lt;/span&gt; jabber-server &lt;span class=&quot;string&quot;&gt;&quot;gmail.com&quot;&lt;/span&gt;
      jabber-network-server &lt;span class=&quot;string&quot;&gt;&quot;talk.google.com&quot;&lt;/span&gt;
      jabber-port 443 &lt;span class=&quot;comment&quot;&gt;; there is a firewall here
&lt;/span&gt;      jabber-connection-type &apos;ssl)
&lt;/pre&gt;
the connection succeeded.&lt;/p&gt;

&lt;p&gt;...But another error manifested:
&lt;pre class=&quot;overflow-border&quot;&gt;
error in process filter: xml-parse-tag: XML: End tag for iq not found before end of region
&lt;/pre&gt;
This one was easier to handle. Here goes the patch:
&lt;pre class=&quot;overflow-border&quot;&gt;
&lt;span class=&quot;diff-header&quot;&gt;--- &lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;&lt;span class=&quot;diff-file-header&quot;&gt;/usr/share/emacs/21.4/lisp/xml.el&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;   2001-10-18 23:19:51.000000000 +0300
+++ &lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;&lt;span class=&quot;diff-file-header&quot;&gt;/home/vvv/.elisp/xml.el&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;diff-header&quot;&gt;     2007-06-15 12:34:13.451906206 +0300
&lt;/span&gt;&lt;span class=&quot;diff-hunk-header&quot;&gt;@@ -262,7 +262,7 @@&lt;/span&gt;
&lt;span class=&quot;diff-context&quot;&gt;                    (set &apos;children (append children
                                           (list (xml-substitute-special string))))))))
              (goto-char (match-end 0))
&lt;/span&gt;&lt;span class=&quot;diff-removed&quot;&gt;-             (skip-chars-forward &quot; \t\n&quot;)
&lt;/span&gt;&lt;span class=&quot;diff-added&quot;&gt;+;;           (skip-chars-forward &quot; \t\n&quot;)
&lt;/span&gt;&lt;span class=&quot;diff-context&quot;&gt;              (if (&amp;gt; (point) end)
                  (error &quot;XML: End tag for %s not found before end of region&quot;
                         node-name))
&lt;/span&gt;
&lt;/pre&gt;
Looks much better now. :-)
&lt;/p&gt;

&lt;p&gt;[&lt;a href=&quot;http://vorotylo.livejournal.com/42741.html&quot;&gt;&lt;small&gt;previous post&lt;/small&gt;&lt;/a&gt;]&lt;/p&gt;</description>
  <comments>http://vorotylo.livejournal.com/43187.html</comments>
  <category>emacs</category>
  <category>code</category>
  <category>jabber</category>
  <category>google</category>
  <category>howto</category>
  <lj:security>public</lj:security>
</item>
</channel>
</rss>
