<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <language>ru</language>
    <title>Журнал</title>
    <link>http://hlabs.org/news</link>
    <description><h1 class="title">Журнал</h1>
<div class="sidebar container">
<p>Записи, которые я выделяю:</p>
<ul class="simple">
<li><a class="reference" href="/tags/%D0%B0%D0%B2%D1%82%D0%BE%D1%80">Подробнее обо мне</a></li>
</ul>
</div>
<p>Страница с последними записями.</p>
<ul class="simple">
<li><a class="reference" href="comments.html">Все комментарии</a> - список всех комментариев к записям;</li>
</ul>
</description>
    <copyright>Copyright (C) 2001-2013 Dmitry Vasiliev</copyright>
    <webMaster>dima@hlabs.org (Dmitry Vasiliev)</webMaster>
    <lastBuildDate>Sat, 26 Mar 2011 14:47:00 +0300</lastBuildDate>
    <item>
      <title>Спасаем данные из ets таблиц</title>
      <link>http://hlabs.org/news/rescue_ets_data.html</link>
      <description>
        <p>На днях прочитал отличную статью от <a class="reference" href="http://steve.vinoski.net/blog/">Steve Vinoski</a> - <a class="reference" href="http://steve.vinoski.net/blog/2011/03/23/dont-lose-your-ets-tables/">Don’t Lose Your ets Tables</a>. Давно задумывался над этой проблемой - если процесс использует <a class="reference" href="http://www.erlang.org/doc/man/ets.html">ets</a> таблицы для хранения данных и перезапускается супервизором после неожиданного завершения, то все данные в таблицах будут потеряны. Во многих случаях данные могут накапливаться за время жизни процесса и не могут быть просто пересозданы даже перезапуском всех процессов. Steve предлагает воспользоваться возможностью указания <a class="reference" href="http://www.erlang.org/doc/man/ets.html#new-2">наследника (heir)</a> для таблицы и возможностью передавать таблицу другому процессу с помощью функции <a class="reference" href="http://www.erlang.org/doc/man/ets.html#give_away-3">ets:give_away</a>.</p>
<p>Вчера решил более плотно заняться этой проблемой и реализовать <a class="reference" href="http://www.erlang.org/doc/man/gen_server.html">gen_server</a> модуль <tt class="docutils literal"><span class="pre">ets_manager</span></tt>, который делает следующее:</p>
<ul class="simple">
<li>При создании через него таблицы, <tt class="docutils literal"><span class="pre">ets_manager</span></tt> указывает свой рабочий процесс в качестве наследника;</li>
<li>При закрытии процесса работающего с таблицей рабочий процесс <tt class="docutils literal"><span class="pre">ets_manager</span></tt> получает и сохраняет таблицу у себя;</li>
<li>Пересозданный супервизором процесс забирает таблицу с данными у рабочего процесса <tt class="docutils literal"><span class="pre">ets_manager</span></tt>;</li>
</ul>

        <ul>
          <li><a href="http://hlabs.org/news/rescue_ets_data.html">Full text...</a></li>
          <li><a href="http://hlabs.org/news/rescue_ets_data.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/rescue_ets_data.html#comments</comments>
      <pubDate>Sat, 26 Mar 2011 14:28:00 +0300</pubDate>
      <guid>http://hlabs.org/news/rescue_ets_data.html</guid>
    </item>
    <item>
      <title>Подсветка Python 3.0 для Vim версии 3.0.6</title>
      <link>http://hlabs.org/news/python_vim_3.0.6.html</link>
      <description>
        <p>Новая версия подсветки <a class="reference" href="http://python.org/download/releases/3.1.2/">Python 3.0</a> для <a class="reference" href="http://www.vim.org/">Vim</a> версии 3.0.6. <strong>Внимание: Только для Python 3.0!</strong> Изменения:</p>
<ul class="simple">
<li>Исправлена подсветка для микро-формата str.format() (патч от Anton Butanaev);</li>
</ul>
<p>Скачать можно здесь:</p>
<ul class="simple">
<li><a class="reference" href="http://hlabs.org/vim/highlighting.html#python">http://hlabs.org/vim/highlighting.html#python</a> - скрипты подсветки синтаксиса на <a class="reference" href="http://hlabs.org/">HIGH Labs</a>;</li>
<li><a class="reference" href="http://www.vim.org/scripts/script.php?script_id=790">http://www.vim.org/scripts/script.php?script_id=790</a> - все версии python.vim на <a class="reference" href="http://www.vim.org/">Vim.org</a>;</li>
</ul>

        <ul>
          
          <li><a href="http://hlabs.org/news/python_vim_3.0.6.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/python_vim_3.0.6.html#comments</comments>
      <pubDate>Mon, 15 Nov 2010 16:36:00 +0300</pubDate>
      <guid>http://hlabs.org/news/python_vim_3.0.6.html</guid>
    </item>
    <item>
      <title>Подсветка Python 3.0 для Vim версии 3.0.5</title>
      <link>http://hlabs.org/news/python_vim_3.0.5.html</link>
      <description>
        <p>Новая версия подсветки <a class="reference" href="http://python.org/download/releases/3.1.2/">Python 3.0</a> для <a class="reference" href="http://www.vim.org/">Vim</a> версии 3.0.5. <strong>Внимание: Только для Python 3.0!</strong> Изменения:</p>
<ul class="simple">
<li>Исправлена подсветка символов экранирования для байт-строк (патч от Anton Butanaev);</li>
<li>Исправлена подсветка для ошибочных символов в числах;</li>
</ul>
<p>Скачать можно здесь:</p>
<ul class="simple">
<li><a class="reference" href="http://hlabs.org/vim/highlighting.html#python">http://hlabs.org/vim/highlighting.html#python</a> - скрипты подсветки синтаксиса на <a class="reference" href="http://hlabs.org/">HIGH Labs</a>;</li>
<li><a class="reference" href="http://www.vim.org/scripts/script.php?script_id=790">http://www.vim.org/scripts/script.php?script_id=790</a> - все версии python.vim на <a class="reference" href="http://www.vim.org/">Vim.org</a>;</li>
</ul>

        <ul>
          
          <li><a href="http://hlabs.org/news/python_vim_3.0.5.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/python_vim_3.0.5.html#comments</comments>
      <pubDate>Fri, 12 Nov 2010 13:28:00 +0300</pubDate>
      <guid>http://hlabs.org/news/python_vim_3.0.5.html</guid>
    </item>
    <item>
      <title>Подсветка Python 3.0 для Vim версии 3.0.4</title>
      <link>http://hlabs.org/news/python_vim_3.0.4.html</link>
      <description>
        <p>Новая версия подсветки <a class="reference" href="http://python.org/download/releases/3.1.2/">Python 3.0</a> для <a class="reference" href="http://www.vim.org/">Vim</a> версии 3.0.4. <strong>Внимание: Только для Python 3.0!</strong> Изменения:</p>
<ul class="simple">
<li>Приложен патч от Anton Butanaev исправляющий подсветку для raw bytes литералов;</li>
</ul>
<p>Скачать можно здесь:</p>
<ul class="simple">
<li><a class="reference" href="http://hlabs.org/vim/highlighting.html#python">http://hlabs.org/vim/highlighting.html#python</a> - скрипты подсветки синтаксиса на <a class="reference" href="http://hlabs.org/">HIGH Labs</a>;</li>
<li><a class="reference" href="http://www.vim.org/scripts/script.php?script_id=790">http://www.vim.org/scripts/script.php?script_id=790</a> - все версии python.vim на <a class="reference" href="http://www.vim.org/">Vim.org</a>;</li>
</ul>

        <ul>
          
          <li><a href="http://hlabs.org/news/python_vim_3.0.4.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/python_vim_3.0.4.html#comments</comments>
      <pubDate>Tue, 09 Nov 2010 20:27:00 +0300</pubDate>
      <guid>http://hlabs.org/news/python_vim_3.0.4.html</guid>
    </item>
    <item>
      <title>erlport 0.6</title>
      <link>http://hlabs.org/news/erlport_0.6.html</link>
      <description>
        <p>Новая версия <a class="reference" href="http://pypi.python.org/pypi/erlport/">erlport</a> - библиотеки для <a class="reference" href="http://python.org/">Python</a> позволяющей упростить взаимодействие с <a class="reference" href="http://erlang.org/">Erlang</a>.</p>
<p>Изменения в версии 0.6:</p>
<ul class="simple">
<li>Добавлено кодирование для <a class="reference" href="http://docs.python.org/library/datetime.html#datetime-objects">datetime</a> (<a class="reference" href="http://github.com/mmikulicic">mmikulicic</a>);</li>
<li>Исправлена ошибка при декодировании &quot;больших&quot; целых (<a class="reference" href="http://github.com/pib">Paul Bonser</a>);</li>
</ul>
<p>Ссылки проекта:</p>
<ul class="simple">
<li><a class="reference" href="http://pypi.python.org/pypi/erlport">http://pypi.python.org/pypi/erlport</a></li>
<li><a class="reference" href="http://github.com/hdima/erlport">http://github.com/hdima/erlport</a></li>
</ul>

        <ul>
          
          <li><a href="http://hlabs.org/news/erlport_0.6.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/erlport_0.6.html#comments</comments>
      <pubDate>Mon, 26 Apr 2010 17:44:00 +0400</pubDate>
      <guid>http://hlabs.org/news/erlport_0.6.html</guid>
    </item>
    <item>
      <title>Новые версии VideoSniffer 0.5 и LinkExtractor 0.20</title>
      <link>http://hlabs.org/news/videosniffer_0.5_linkextractor_0.20.html</link>
      <description>
        <p>Обновил плагины для <a class="reference" href="http://mozilla.com">Mozilla Firefox</a>:</p>
<ul class="simple">
<li><a class="reference" href="http://hlabs.org/projects/videosniffer/">VideoSniffer</a> до версии 0.5;</li>
<li><a class="reference" href="http://hlabs.org/projects/linkextractor/">LinkExtractor</a> до версии 0.20;</li>
</ul>
<p>Изменения одинаковые:</p>
<ul class="simple">
<li>Добавлена поддержка Firefox 3.6;</li>
<li>Добавлена Русская локализация;</li>
</ul>

        <ul>
          
          <li><a href="http://hlabs.org/news/videosniffer_0.5_linkextractor_0.20.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/videosniffer_0.5_linkextractor_0.20.html#comments</comments>
      <pubDate>Sun, 25 Apr 2010 21:39:00 +0400</pubDate>
      <guid>http://hlabs.org/news/videosniffer_0.5_linkextractor_0.20.html</guid>
    </item>
    <item>
      <title>Обновлены подсветки Python для Vim</title>
      <link>http://hlabs.org/news/python_vim_2.6.6.html</link>
      <description>
        <p>Новые версии подсветки <a class="reference" href="http://python.org/">Python</a> для <a class="reference" href="http://vim.org/">Vim</a> - версии 2.6.6 и 3.0.3. Изменения:</p>
<ul class="simple">
<li>Приложен патч от Andrea Riciputi с двумя новыми опциями конфигурации &quot;python_highlight_builtin_objs&quot; и &quot;python_highlight_builtin_funcs&quot;;</li>
</ul>
<p>Скачать можно здесь:</p>
<ul class="simple">
<li><a class="reference" href="http://hlabs.org/vim/highlighting.html#python">http://hlabs.org/vim/highlighting.html#python</a> - скрипты подсветки синтаксиса на <a class="reference" href="http://hlabs.org/">HIGH Labs</a>;</li>
<li><a class="reference" href="http://www.vim.org/scripts/script.php?script_id=790">http://www.vim.org/scripts/script.php?script_id=790</a> - все версии python.vim на <a class="reference" href="http://www.vim.org/">Vim.org</a>;</li>
</ul>

        <ul>
          
          <li><a href="http://hlabs.org/news/python_vim_2.6.6.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/python_vim_2.6.6.html#comments</comments>
      <pubDate>Fri, 09 Apr 2010 22:40:00 +0400</pubDate>
      <guid>http://hlabs.org/news/python_vim_2.6.6.html</guid>
    </item>
    <item>
      <title>Релиз erlport 0.5</title>
      <link>http://hlabs.org/news/erlport_0.5.html</link>
      <description>
        <p>Выпустил новую версию <a class="reference" href="http://pypi.python.org/pypi/erlport/">erlport</a> - библиотеки для <a class="reference" href="http://python.org/">Python</a> позволяющей упростить взаимодействие с <a class="reference" href="http://erlang.org/">Erlang</a>.</p>
<p>Изменения в версии 0.5:</p>
<ul class="simple">
<li>Оптимизировано кодирование/декодирование больших целых (<a class="reference" href="http://bob.pythonmac.org/">Bob Ippolito</a>);</li>
<li>Оптимизации кодирования данных (<a class="reference" href="http://bob.pythonmac.org/">Bob Ippolito</a>);</li>
<li>Добавлена поддержка кодирования/декодирования сжатых данных (<a class="reference" href="http://bob.pythonmac.org/">Bob Ippolito</a>);</li>
<li>Добавлена поддержка кодирования/декодирования <a class="reference" href="http://docs.python.org/reference/datamodel.html#the-standard-type-hierarchy">dict</a> как <a class="reference" href="http://erlang.org/doc/man/proplists.html">proplist</a> (<a class="reference" href="http://bob.pythonmac.org/">Bob Ippolito</a>);</li>
<li>Добавлена поддержка кодирования/декодирования True, False как атомов true, false (<a class="reference" href="http://bob.pythonmac.org/">Bob Ippolito</a>);</li>
<li>Добавлена поддержка кодирования/декодирования None как атома none;</li>
<li>Добавлен пример использования сжатых данных;</li>
</ul>
<p>Ссылки проекта:</p>
<ul class="simple">
<li><a class="reference" href="http://pypi.python.org/pypi/erlport">http://pypi.python.org/pypi/erlport</a></li>
<li><a class="reference" href="http://github.com/hdima/erlport">http://github.com/hdima/erlport</a></li>
</ul>

        <ul>
          
          <li><a href="http://hlabs.org/news/erlport_0.5.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/erlport_0.5.html#comments</comments>
      <pubDate>Thu, 25 Feb 2010 21:01:00 +0300</pubDate>
      <guid>http://hlabs.org/news/erlport_0.5.html</guid>
    </item>
    <item>
      <title>Как я файлы между узлами Erlang пересылал</title>
      <link>http://hlabs.org/news/erlang_remote_file_copying.html</link>
      <description>
        <p>Не так давно передо мной встала задача программно разархивировать на одном из
узлов <a class="reference" href="http://hlabs.org/development/erlang">Erlang</a> <tt class="docutils literal"><span class="pre">tar.gz</span></tt> архив, который
находился на другом узле. Ниже приводится подробный ход мыслей в направлении
решения и решение к которому эти мысли привели.</p>
<p>Воспитанный на совсем других языках, изначально я смекнул следующее - <tt class="docutils literal"><span class="pre">Erlang</span></tt> у
нас &quot;из коробки&quot; поддерживает передачу сообщений, соответственно нужно на узле
с архивом открыть его как файл, потихоньку читать и сообщениями каждый кусочек
пересылать на второй узел. На втором узле нужно все это дело потихоньку записывать
в новый файл, который по окончании пересылки остается только разархивировать.</p>

        <ul>
          <li><a href="http://hlabs.org/news/erlang_remote_file_copying.html">Full text...</a></li>
          <li><a href="http://hlabs.org/news/erlang_remote_file_copying.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/erlang_remote_file_copying.html#comments</comments>
      <pubDate>Tue, 19 Jan 2010 22:43:00 +0300</pubDate>
      <guid>http://hlabs.org/news/erlang_remote_file_copying.html</guid>
    </item>
    <item>
      <title>Статья про использование портов в Erlang и новая версия erlport</title>
      <link>http://hlabs.org/news/erlang_ports_article.html</link>
      <description>
        <p>Написал новую статью про <a class="reference" href="http://hlabs.org/development/erlang/ports.html">использование портов Erlang</a>. Кроме этого выпустил версию 0.4 <a class="reference" href="http://pypi.python.org/pypi/erlport/">erlport</a> - библиотеки для <a class="reference" href="http://hlabs.org/development/python">Python</a> упрощающей взаимодействие между <a class="reference" href="http://hlabs.org/development/erlang">Erlang</a> и Python с использованием <a class="reference" href="http://hlabs.org/development/erlang/ports.html">портов Erlang</a>.</p>

        <ul>
          
          <li><a href="http://hlabs.org/news/erlang_ports_article.html#comments">Comments</a></li>
        </ul>
      </description>
      <author>Dmitry Vasiliev</author>
      <comments>http://hlabs.org/news/erlang_ports_article.html#comments</comments>
      <pubDate>Sun, 10 Jan 2010 20:43:00 +0300</pubDate>
      <guid>http://hlabs.org/news/erlang_ports_article.html</guid>
    </item>
  </channel>
</rss>
