<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-2145365503775784580</id><updated>2009-07-08T09:03:21.010+01:00</updated><title type='text'>Alex Ott's Russian blog about IT-related things</title><subtitle type='html'>This blog dedicated to IT, Software development and information security.  Main language - Russian.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default?start-index=26&amp;max-results=25'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>269</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-2789494739351772206</id><published>2009-06-26T12:16:00.001+01:00</published><updated>2009-06-26T12:17:44.504+01:00</updated><title type='text'>полезное про БД</title><content type='html'>Олег Царев (aka &lt;a href="http://zabivator.livejournal.com"&gt;zabivator&lt;/a&gt;) начал писать &lt;a href="http://zabivator.livejournal.com/tag/rdbms+in+deep"&gt;серию постов&lt;/a&gt; про внутренее устройство баз данных - построение планов запросов, и т.п. Очень интересно и полезно для всех работающих с БД&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-2789494739351772206?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/2789494739351772206/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=2789494739351772206' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2789494739351772206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2789494739351772206'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/06/blog-post_26.html' title='полезное про БД'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-7872806841714234783</id><published>2009-06-24T20:01:00.002+01:00</published><updated>2009-06-24T20:04:43.774+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>емаксовое</title><content type='html'>на этой неделе наконец-то собрался с духом, и более-менее отрефакторил свои &lt;a href="http://github.com/alexott/emacs-configs/tree/master"&gt;емаксовые конфиги&lt;/a&gt; - разбил на более мелкие части, вычистил много лишних вещей из .gnus, переписал кусок относящийся к supercite, а то там была совсем каша из используемых и не используемых функций.&lt;br /&gt;ну и до кучи переехал на &lt;a href="http://code.google.com/p/yasnippet/"&gt;yasnippet&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-7872806841714234783?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/7872806841714234783/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=7872806841714234783' title='Комментарии: 9'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/7872806841714234783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/7872806841714234783'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/06/blog-post_24.html' title='емаксовое'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-1147809308661769249</id><published>2009-06-20T15:58:00.002+01:00</published><updated>2009-06-20T16:04:49.934+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Книжное</title><content type='html'>Получил сегодня книжку &lt;a href="http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262032937/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1245509990&amp;amp;sr=8-1"&gt;Introduction to Algorithms, 2ed&lt;/a&gt;, которую давно собирался купить, но все руки не доходили. Первое издание я читал на русском, но оно осталось в россии, распроданное при переезде...&lt;br /&gt;В последнее время я заметил, что книги на немецком амазоне подорожали на 20-30 процентов, что не особо радует :-( Плюс книги сильно дороже чем на американском и английском амазонах, включая такие случаи, когда книга изданная в германии стоит на немецком амазоне 70 евро, а на американском чуть больше 60 долларов, что почти в 1.5 раза меньше, учитывая курсовую  разницу...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-1147809308661769249?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/1147809308661769249/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=1147809308661769249' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/1147809308661769249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/1147809308661769249'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/06/blog-post.html' title='Книжное'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-3432059034751064625</id><published>2009-06-14T20:37:00.002+01:00</published><updated>2009-06-14T20:44:00.266+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Дочитал Real World Haskell</title><content type='html'>Только что закончил читать Real World Haskell. Читал долго, но книжка полезная - много примеров практического программирования на Haskell, при этом не исключая теоретических его основ.&lt;br /&gt;Сегодня также довел до ума первый пакет для Haskell - написал документацию, написал файл для cabal и т.п.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-3432059034751064625?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/3432059034751064625/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=3432059034751064625' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/3432059034751064625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/3432059034751064625'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/06/real-world-haskell.html' title='Дочитал Real World Haskell'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-401772955305568185</id><published>2009-05-25T10:42:00.001+01:00</published><updated>2009-05-25T10:44:57.790+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='muse'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Muse + bibtex -&gt; вывод в HTML</title><content type='html'>Немного похакал Muse чтобы он научился генерировать список литературы, использованной в тексте, из файла в формате bibtex.&lt;br /&gt;Первая версия (с некоторыми вещами приколоченными гвоздями) доступна из &lt;a href="http://github.com/alexott/muse/tree/master"&gt;репозитория на github&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-401772955305568185?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/401772955305568185/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=401772955305568185' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/401772955305568185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/401772955305568185'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/05/muse-bibtex-html.html' title='Muse + bibtex -&gt; вывод в HTML'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-1024381989715178154</id><published>2009-05-16T20:17:00.004+01:00</published><updated>2009-05-16T20:24:48.072+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='cedet'/><title type='text'>Новая версия ECB</title><content type='html'>После 4-х лет разработки, наконец-то вышла новая версия &lt;a href="http://ecb.sourceforge.net/"&gt;пакета ECB&lt;/a&gt;. Изменений &lt;a href="http://ecb.sourceforge.net/NEWS.html"&gt;много&lt;/a&gt;, теперь для работы надо установить свежую версию пакета Cedet, поскольку ECB использует много новых возможностей Cedet, включая поддержку проектов EDE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-1024381989715178154?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/1024381989715178154/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=1024381989715178154' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/1024381989715178154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/1024381989715178154'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/05/ecb.html' title='Новая версия ECB'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-4832729083954513810</id><published>2009-05-06T09:30:00.002+01:00</published><updated>2009-05-06T09:31:38.743+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='fp'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Еще видео про ФП...</title><content type='html'>Микрософтовский Channel9 начал &lt;a href="http://channel9.msdn.com/tags/LangNET+2009/"&gt;выкладывать видео&lt;/a&gt; с конференции Lang.NET 2009.  Есть несколько интересных видео про F#, ФП и вообще про языки программирования и виртуальные машины для них&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-4832729083954513810?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/4832729083954513810/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=4832729083954513810' title='Комментарии: 8'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/4832729083954513810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/4832729083954513810'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/05/blog-post.html' title='Еще видео про ФП...'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-7359378096641328845</id><published>2009-04-17T16:56:00.003+01:00</published><updated>2009-04-17T17:12:09.412+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Linuxовое</title><content type='html'>Сегодня переехал на своей рабочей машине с 32-битной убунты на 64-битный дебиан.&lt;br /&gt;Благодаря наличию второго винчестера в машине, миграция прошла достаточно быстро и безболезненно.&lt;br /&gt;После убунты конечно удивляют древние версии софта, находящиеся в стабильном репозитории (да и в testing тоже), уже несколько софтинок перетащил из unstable, правда пришлось поработать напильником...&lt;br /&gt;P.S. чуть не сломал голову, почему git не видит файлы в репозитории на флешке. Выяснилось, что в дебиане другие значения по умолчанию, и поэтому все имена в нижнем регистре. Спасла установка опции &lt;em&gt;shortname=mixed&lt;/em&gt; при монтировании флешки&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-7359378096641328845?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/7359378096641328845/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=7359378096641328845' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/7359378096641328845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/7359378096641328845'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/04/linux.html' title='Linuxовое'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-2708010385489522224</id><published>2009-03-25T10:35:00.001+01:00</published><updated>2009-03-25T10:37:02.014+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fp'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'></title><content type='html'>Channel9 выпустил &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Erik-Meijer-and-Matthew-Podwysocki-Perspectives-on-Functional-Programming/"&gt;очередное видео&lt;/a&gt; с Erik Meijer, обсуждающим перспективы функционального программирования...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-2708010385489522224?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/2708010385489522224/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=2708010385489522224' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2708010385489522224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2708010385489522224'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/03/channel9-erik-meijer.html' title=''/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-2017824084511639332</id><published>2009-03-24T14:40:00.001+01:00</published><updated>2009-03-24T14:42:14.101+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oss'/><title type='text'>опен-соурсное</title><content type='html'>Наконец-то получил от нового работодателя официальную бумажку о том, что я могу заниматься open source проектами, правда с оговоркой, что они не должны составлять конкуренции с продукцией компании...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-2017824084511639332?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/2017824084511639332/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=2017824084511639332' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2017824084511639332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2017824084511639332'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/03/blog-post.html' title='опен-соурсное'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-8754049458621440663</id><published>2009-03-21T10:49:00.002+01:00</published><updated>2009-03-21T10:57:38.689+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>GNU Emacs 23, Mac OS X и шрифты</title><content type='html'>В очередной раз пересобрал GNU Emacs из CVS и поработал с ним под Mac OS X. В последних сборках, по умолчанию выключено использование антиалиасинга, так что шрифты выглядят просто ужасающе. В списке рассылки мне указали на переменную ns-antialias-text недоступную через &lt;span style="font-family: courier new;"&gt;customize&lt;/span&gt;, которую надо установить в не-&lt;span style="font-family: courier new;"&gt;nil&lt;/span&gt; значение, и тогда антиалиасинг будет использоваться также как и в Carbon Emacs.&lt;br /&gt;Правда в GNU Emacs под маком еще есть проблемы со скоростью перерисовки, но уже вполне можно им пользоваться...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-8754049458621440663?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/8754049458621440663/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=8754049458621440663' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/8754049458621440663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/8754049458621440663'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/03/gnu-emacs-23-mac-os-x.html' title='GNU Emacs 23, Mac OS X и шрифты'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-6837511366384463787</id><published>2009-03-06T09:55:00.003+01:00</published><updated>2009-03-06T09:59:50.319+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Небольшое дополнение к sh-mode</title><content type='html'>Вот небольшой кусок кода, который может быть полезен для пишущих shell-скрипты в Emacs. Этот кусок кода добавляет функцию &lt;span style="font-family:courier new;"&gt;sh-check-syntax&lt;/span&gt;, что позволяет проверить корректность синтаксиса скрипта (пока только для sh/bash/zsh), и в случае нахождения ошибок, реализует навигацию по ним. Для удобства использования, функцию повесьте на какую-нибудь клавишу (я использую &lt;span style="font-family:courier new;"&gt;C-c l&lt;/span&gt;)&lt;br /&gt;&lt;pre&gt;(defun sh-check-finish-hook (buf msg)&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;"Function, that is executed at the end of sh check"&lt;/span&gt;&lt;br /&gt;(&lt;span style="color: rgb(160, 32, 240);"&gt;when&lt;/span&gt; (not (string-match &lt;span style="color: rgb(0, 139, 0);"&gt;"finished"&lt;/span&gt; msg))&lt;br /&gt;  (next-error 1 t)))&lt;br /&gt;&lt;br /&gt;(define-compilation-mode sh-check-mode &lt;span style="color: rgb(0, 139, 0);"&gt;"SH"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;"Mode for check sh source code."&lt;/span&gt;&lt;br /&gt;(set (make-local-variable 'compilation-disable-input) t)&lt;br /&gt;(set (make-local-variable 'compilation-scroll-output) nil)&lt;br /&gt;(set (make-local-variable 'compilation-finish-functions)&lt;br /&gt;     (list 'sh-check-finish-hook))&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;(defun sh-check-syntax ()&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;"Check syntax of current file"&lt;/span&gt;&lt;br /&gt;(interactive)&lt;br /&gt;(&lt;span style="color: rgb(160, 32, 240);"&gt;when&lt;/span&gt; (string-match &lt;span style="color: rgb(0, 139, 0);"&gt;"^&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0); font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0);"&gt;ba&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0); font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0); font-weight: bold;"&gt;|&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0);"&gt;z&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0); font-weight: bold;"&gt;\\&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0); font-weight: bold;"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 139, 0);"&gt;sh"&lt;/span&gt; (symbol-name sh-shell))&lt;br /&gt;  (save-some-buffers t)&lt;br /&gt;  (compilation-start (concat (symbol-name sh-shell) &lt;span style="color: rgb(0, 139, 0);"&gt;" -n "&lt;/span&gt; (buffer-file-name))&lt;br /&gt;                     'sh-check-mode))&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-6837511366384463787?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/6837511366384463787/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=6837511366384463787' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/6837511366384463787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/6837511366384463787'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/03/sh-mode.html' title='Небольшое дополнение к sh-mode'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-5446556930961529306</id><published>2009-03-01T10:56:00.003+01:00</published><updated>2009-03-01T11:30:23.476+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='cedet'/><title type='text'>Новая пре-релиз версия Cedet</title><content type='html'>После почти двух лет прошедших со времени предыдущего пре-релиза, сегодня Eric M. Ludlam &lt;a href="https://sourceforge.net/mailarchive/forum.php?thread_name=200903010339.n213dS6Q025283%40projectile.siege-engine.com&amp;amp;forum_name=cedet-devel"&gt;выпустил&lt;/a&gt; новую пре-релиз версию Cedet - &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=17886&amp;amp;package_id=98769"&gt;1.0pre6&lt;/a&gt;. Эта версия включает в себя бесчисленное количество фиксов и новых функций и радикально отличается от предыдущих версий.&lt;br /&gt;Автор призывает тестировать пакет на разных платформах и пополнять список поддерживаемых сочетаний Emacs &amp;amp;&amp;amp; OS на &lt;a href="http://cedet.wiki.sourceforge.net/1.0+pre6+Tested+Configurations"&gt;соответствующей странице Wiki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-5446556930961529306?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/5446556930961529306/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=5446556930961529306' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/5446556930961529306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/5446556930961529306'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/03/cedet.html' title='Новая пре-релиз версия Cedet'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-9048037168342184702</id><published>2009-02-27T19:06:00.003+01:00</published><updated>2009-02-27T19:23:32.455+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='oss'/><category scheme='http://www.blogger.com/atom/ns#' term='content filtering'/><category scheme='http://www.blogger.com/atom/ns#' term='boost'/><title type='text'>Новая версия утилиты Squid-GSB</title><content type='html'>Я зарелизил новую версию утилиты &lt;a href="http://xtalk.msk.su/%7Eott/ru/cf/squid-gsbapi.html"&gt;Squid-GSB&lt;/a&gt; (версия 0.2), которая позволяет использовать базу данных &lt;a href="http://code.google.com/apis/safebrowsing/"&gt;Google Safe Browsing API&lt;/a&gt; для Squild. В новой версии сделаны следуюшие изменения:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;для конфигурации и сборки используется CMake, что позволило более корректно подключать нужные библиотеки Boost;&lt;/li&gt;&lt;li&gt;реализованая корректная работа с &lt;span style="font-family:courier new;"&gt;Transfer-Encoding: chunked&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;репозиторий кода перенесен на &lt;a href="http://github.com/alexott/squid-gsb/tree/master"&gt;GitHub&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;обновлена документация&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Версию 0.2 можно скачать и &lt;a href="http://xtalk.msk.su/%7Eott/common/cf/"&gt;с моего сайта&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-9048037168342184702?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/9048037168342184702/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=9048037168342184702' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/9048037168342184702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/9048037168342184702'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/02/squid-gsb.html' title='Новая версия утилиты Squid-GSB'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-4275798478864441194</id><published>2009-02-25T13:17:00.003+01:00</published><updated>2009-02-25T13:19:07.924+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Про книжки</title><content type='html'>Если кому-то будет интересно - я уже с полгода пользуюсь &lt;a href="http://www.shelfari.com/"&gt;Shelfari&lt;/a&gt; - достаточно удобный сервис для ведения списков того, что читаешь, читал и собираешься прочитать. В &lt;a href="http://www.shelfari.com/alexott"&gt;свой профиль&lt;/a&gt; уже вбил достаточно много книг, но точно не все, что читал&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-4275798478864441194?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/4275798478864441194/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=4275798478864441194' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/4275798478864441194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/4275798478864441194'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/02/blog-post_25.html' title='Про книжки'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-4918161336946390383</id><published>2009-02-16T21:04:00.003+01:00</published><updated>2009-02-25T13:15:50.078+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fp'/><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Emacs + Haskell + Pretty lambda</title><content type='html'>А знаете ли вы, что если в хуке для &lt;span style="font-style: italic;"&gt;haskell-mode&lt;/span&gt; выставить переменную &lt;span style="font-family: courier new;"&gt;haskell-font-lock-symbols&lt;/span&gt; в &lt;span style="font-family: courier new;"&gt;t&lt;/span&gt;, то ваш исходник будет выглядеть примерно вот так:&lt;br /&gt;&lt;a href="http://fotki.yandex.ru/users/ottalex/view/145810/"&gt;&lt;img src="http://img-fotki.yandex.ru/get/3314/ottalex.5/0_23992_5fbf7afb_L.jpg" title="haskell-pretty-font-lock" alt="haskell-pretty-font-lock" border="0" height="399" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;P.S. в стандартную поставку входят не все символы, изображенные тут. Но патчик автору &lt;span style="font-style: italic;"&gt;haskell-mode&lt;/span&gt; уже отправлен...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-4918161336946390383?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/4918161336946390383/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=4918161336946390383' title='Комментарии: 7'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/4918161336946390383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/4918161336946390383'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/02/emacs-haskell-pretty-lambda.html' title='Emacs + Haskell + Pretty lambda'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-917833930142715898</id><published>2009-02-13T14:46:00.007+01:00</published><updated>2009-02-13T16:27:58.314+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='cedet'/><title type='text'>Cedet + Qt</title><content type='html'>Мне тут на LOR задали вопрос - почему Cedet не работает с Qt.  Ответ простой - он работает, только надо немного настроить.  Добавьте вот эти строки в ваш конфиг, Cedet начнет нормально разбирать ваш код:&lt;br /&gt;&lt;pre style="color: rgb(0, 0, 0); background-color: rgb(235, 235, 235);"&gt;(add-to-list 'auto-mode-alist&lt;br /&gt;'(&lt;span style="color: rgb(0, 139, 0);"&gt;"/usr/include/qt4"&lt;/span&gt; . c++-mode))&lt;br /&gt;(semantic-add-system-include &lt;span style="color: rgb(0, 139, 0);"&gt;&lt;br /&gt;"/usr/include/qt4"&lt;/span&gt; 'c++-mode)&lt;br /&gt;(add-to-list 'semantic-lex-c-preprocessor-symbol-file&lt;br /&gt;&lt;span style="color: rgb(0, 139, 0);"&gt;"/usr/include/qt4/Qt/qconfig.h"&lt;/span&gt;)&lt;br /&gt;(add-to-list 'semantic-lex-c-preprocessor-symbol-file&lt;br /&gt;&lt;span style="color: rgb(0, 139, 0);"&gt;"/usr/include/qt4/Qt/qconfig.h"&lt;/span&gt;)&lt;br /&gt;&lt;/pre&gt;Вот доказательства:&lt;br /&gt;&lt;a href="http://fotki.yandex.ru/users/ottalex/view/145110/"&gt;&lt;img src="http://img-fotki.yandex.ru/get/3311/ottalex.5/0_236d6_8199799b_L.jpg" title="Emacs + Cedet + Qt" alt="Emacs + Cedet + Qt" border="0" height="429" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;Большое спасибо Eric M. Ludlam за подсказку о переменной &lt;span style="font-family:courier new;"&gt;semantic-lex-c-preprocessor-symbol-file&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-917833930142715898?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/917833930142715898/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=917833930142715898' title='Комментарии: 15'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/917833930142715898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/917833930142715898'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/02/cedet-qt.html' title='Cedet + Qt'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-8531776904239546957</id><published>2009-02-08T14:06:00.005+01:00</published><updated>2009-02-22T19:12:58.058+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fp'/><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Вторая версия пакета hs-lint</title><content type='html'>Дописал hs-lint чтобы он позволял выполнять замену кусков кода, написанных пользователем, на куски кода, предлогаемые HLint. Для этого, переменная &lt;span style="font-weight: bold;font-family:courier new;" &gt;hs-lint-replace-with-suggestions&lt;/span&gt; должна иметь значение &lt;span style="font-weight: bold;font-family:courier new;" &gt;t&lt;/span&gt;, тогда после проверки, у пользователя будут запрашивать разрешение на замену каждого из найденных "неправильных" кусочков кода.  А если переменная &lt;span style="font-weight: bold;font-family:courier new;" &gt;hs-lint-replace-without-ask&lt;/span&gt; также будет иметь значение &lt;span style="font-weight: bold;font-family:courier new;" &gt;t&lt;/span&gt;, то тогда эти замены будут производиться без запроса пользователя.&lt;br /&gt;Новая версия доступна &lt;a href="http://xtalk.msk.su/%7Eott/common/emacs/hs-lint.el"&gt;у меня с сайта&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-8531776904239546957?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/8531776904239546957/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=8531776904239546957' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/8531776904239546957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/8531776904239546957'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/02/hs-lint.html' title='Вторая версия пакета hs-lint'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-7630890269828273881</id><published>2009-02-07T11:43:00.003+01:00</published><updated>2009-02-07T15:23:48.243+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='boost'/><category scheme='http://www.blogger.com/atom/ns#' term='cedet'/><title type='text'>cedet +  boost::shared_ptr</title><content type='html'>Eric сегодня закоммитил CVS изменения, которые приводят к получению правильных дополнений для объектов, обернутых в boost::shared_ptr. Для других smart pointers такая поддержка есть уже давно, проблема была в парсении определений shared_ptr&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-7630890269828273881?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/7630890269828273881/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=7630890269828273881' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/7630890269828273881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/7630890269828273881'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/02/cedet-boostsharedptr.html' title='cedet +  boost::shared_ptr'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-3542763368288808578</id><published>2009-02-02T21:21:00.003+01:00</published><updated>2009-02-06T21:41:37.238+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='article'/><category scheme='http://www.blogger.com/atom/ns#' term='cedet'/><title type='text'>Про работу с Cedet</title><content type='html'>Только что залил на сервер еще одну статью про разработку в Emacs. На этот раз статья &lt;a href="http://xtalk.msk.su/%7Eott/ru/writings/emacs-devenv/EmacsCedet.html"&gt;про работу с пакетом Cedet&lt;/a&gt;, реализующим дополнение имен, синтаксический анализ исходного кода, навигацию по коду, и множество других приятных дополнений.&lt;br /&gt;Замечания и комментарии к статье лучше оставлять прямо на сайте...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-3542763368288808578?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/3542763368288808578/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=3542763368288808578' title='Комментарии: 36'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/3542763368288808578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/3542763368288808578'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/02/cedet.html' title='Про работу с Cedet'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-3030726879257076202</id><published>2009-01-28T14:11:00.002+01:00</published><updated>2009-01-28T14:18:18.968+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file formats'/><category scheme='http://www.blogger.com/atom/ns#' term='content filtering'/><title type='text'>тяжело быть идиотом...</title><content type='html'>Только сегодня выяснил, что тесты из предыдущего поста я проводил на отладочной сборки своей библиотеки. Новые измерения - на офисных файлах обганяем в 4 раза, а на всех остальных - почти в 40. Однотредовая программа в итоге определяет типы около 6 тыс. файлов/сек.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-3030726879257076202?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/3030726879257076202/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=3030726879257076202' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/3030726879257076202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/3030726879257076202'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/01/blog-post_28.html' title='тяжело быть идиотом...'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-2285153965309885051</id><published>2009-01-26T20:44:00.005+01:00</published><updated>2009-01-27T10:05:38.413+01:00</updated><title type='text'>о засильи xml...</title><content type='html'>В который раз уже сталкиваюсь с тем, что у людей имеется рефлекс на использование XML в различных программных продуктах - в качестве ли конфигов, или в качестве протокола для передачи данных. При этом, очень часто люди не задумываются о том, как и кто будет эти данные использовать. И очень часто удобство разбора XML в программе за счет доступного API делается в ущерб удобству использования этих данных, особенно когда эти данные могут изменяться человеком. В итоге либо человек вносит изменения в конфигурацию/правила/... долго ругаясь, либо ему приходится пользоваться специально заточенным монстрообразным GUIем (обычно на .Net или Java, разработчики которых наиболее подвержены этому влиянию).&lt;br /&gt;А ведь часто стоит задуматься о том, что простой текстовый файл с данными "имя = значение", или с простым языком, становятся гораздо понятней и удобнее для использования чем XML, пусть даже ценой немного больших усилий со стороны разработчика.&lt;br /&gt;Сегодня в очередной раз в этом убедился рассматривая конфигурационные файлы &lt;a href="http://mark0.net/onlinetrid.aspx"&gt;TriD&lt;/a&gt;, где простое правило  из 2-3-х сигнатур, выраженное в XML, занимает целый экран, хотя могло быть выражено в чем-то более простом, например:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    offset N1 == XXX and offset N2 == "YYY"&lt;/span&gt;&lt;br /&gt;То же самое относится и к использованию XML в качестве формата обмена данных - существуют более компактные вещи, например, &lt;a href="http://json.org/"&gt;json&lt;/a&gt; или &lt;a href="http://code.google.com/apis/protocolbuffers/"&gt;google protocol buffers&lt;/a&gt;, и которые имеют реализациия для практически всех языков программирования.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-2285153965309885051?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/2285153965309885051/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=2285153965309885051' title='Комментарии: 10'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2285153965309885051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2285153965309885051'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/01/xml.html' title='о засильи xml...'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-4754441979179839870</id><published>2009-01-26T14:02:00.002+01:00</published><updated>2009-01-26T14:07:43.939+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file formats'/><category scheme='http://www.blogger.com/atom/ns#' term='content filtering'/><title type='text'>еще раз про форматы файлов</title><content type='html'>Набрел тут на &lt;a href="http://www.oracle.com/technology/products/content-management/oit/oit_all.html"&gt;библиотеку OutsideIn&lt;/a&gt; для определения форматов файлов, которая производится Oracle, и используется в продуктах нашей новой компании. Почитал описания, скачал и поигрался с нею. Впечатления сумбурные - несмотря на то,  что в документации перечислены сотни форматов файлов, как выяснилось, многого она не знает - 7z/lzma, cpio, .deb, rpm, .arc, .ace, .chm, .hlp и еще много чего, мне просто надоело. Ну и не определяется много само-распоковывающихся архивов&lt;br /&gt;Про скорость работы я даже говорить не буду. На офисных файлах мой детектор обгоняет их где-то на 30%, а на миксе из разных файлов на выборке в 45 гигабайт, мой детектор уделал их библиотеку более чем на порядок....&lt;br /&gt;Стоит отметить, что определение типов - одна из задач этой библиотеки, и вроде они обещают, что умеют извлекать текст и метаинформацию из множества офисных и т.п. файлов, но это мы будем проверять немного позднее...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-4754441979179839870?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/4754441979179839870/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=4754441979179839870' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/4754441979179839870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/4754441979179839870'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/01/blog-post_26.html' title='еще раз про форматы файлов'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-2901215759199642475</id><published>2009-01-22T20:35:00.001+01:00</published><updated>2009-01-22T20:37:44.859+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='couchdb'/><title type='text'>haskell + couchdb</title><content type='html'>Кажется нашел в чем проблема заключалась. Очень похоже на багу в HTTP модуле, который при формировании запроса запихивал в request path полный урл, включая хост и порт. Странно, почему оно работало на линуксе&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-2901215759199642475?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/2901215759199642475/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=2901215759199642475' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2901215759199642475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/2901215759199642475'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/01/haskell-couchdb.html' title='haskell + couchdb'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2145365503775784580.post-3744688694536830866</id><published>2009-01-22T09:30:00.001+01:00</published><updated>2009-01-22T09:31:46.872+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='couchdb'/><title type='text'>к предыдущему посту...</title><content type='html'>а на линуксовой инсталяции couchdb все работает как надо.&lt;br /&gt;вечером буду запинывать couchdb на предмет логов на входе.  у меня такое впечатление, что mochiweb где-то дурит...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2145365503775784580-3744688694536830866?l=alexott-ru.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alexott-ru.blogspot.com/feeds/3744688694536830866/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=2145365503775784580&amp;postID=3744688694536830866' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/3744688694536830866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2145365503775784580/posts/default/3744688694536830866'/><link rel='alternate' type='text/html' href='http://alexott-ru.blogspot.com/2009/01/blog-post_22.html' title='к предыдущему посту...'/><author><name>Alex Ott</name><uri>http://www.blogger.com/profile/13001951608173211050</uri><email>alexott@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18097861910138690886'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>